Простой способ просмотра запросов SQL, генерируемых отчетами SSRS? - PullRequest
8 голосов
/ 09 августа 2010

Существует ли простой способ просмотра SQL-запросов, фактически сгенерированных SSRS, кроме запуска трасс профилей для их захвата?

Есть ли какой-то способ из редактора BIDS увидеть это?

Ответы [ 4 ]

7 голосов
/ 10 января 2011

Вы можете запустить что-то вроде приведенного ниже для своего сервера отчетов SSRS.Вы сможете увидеть sql, который выполняется наборами данных отчета.

;WITH XMLNAMESPACES (
    DEFAULT 'http://schemas.microsoft.com/sqlserver/reporting/2005/01/reportdefinition',
    'http://schemas.microsoft.com/SQLServer/reporting/reportdesigner' AS rd
),
ReportData AS
(
    SELECT name ReportName
           , x.value('CommandType[1]', 'VARCHAR(50)') AS CommandType
           , x.value('CommandText[1]','VARCHAR(8000)') AS CommandText
           , x.value('DataSourceName[1]','VARCHAR(50)') AS DataSource
    FROM (SELECT  name
                  , CAST(CAST(content AS VARBINARY(MAX)) AS XML) AS reportXML
            FROM  ReportServer.dbo.Catalog
            WHERE content IS NOT NULL
                  AND type != 3) a
                  CROSS APPLY reportXML.nodes('/Report/DataSets/DataSet/Query') r(x)
)

SELECT *
FROM ReportData
4 голосов
/ 09 августа 2010

Короче, нет.Нет хорошего обходного пути.Однако для разработки я обычно создавал тестовый запрос параллельно со своей работой в SSRS.Я бы отредактировал это в Management Studio, а затем просто вставил значения обратно в BIDS.Предполагая два параметра с именами «StudentID» и «TeacherID», запрос выглядел следующим образом:

DECLARE @StudentID int
DECLARE @TeacherID int

SELECT @StudentID = StudentID FROM Students WHERE StudentName LIKE 'John Doe'
SELECT @TeacherID = TeacherID FROM Teachers WHERE TeacherName LIKE 'Mr. Jones'

-- PASTE IN QUERY FROM BIDS BELOW

Это позволило мне использовать реальные текстовые значения из раскрывающихся списков параметров и просто вставить в свой запрос.Затем я мог бы оптимизировать запрос в Management Studio и затем вставить его обратно в BIDS, когда был доволен результатом.

3 голосов
/ 17 августа 2012

Обычно я запускаю SQL Profiler, когда запускаю отчет и извлекаю из него запрос с параметрами.

0 голосов
/ 27 января 2016

Закройте файл, измените расширение с .rdlc на .rdl и снова откройте его.Должен отображаться как HTML.Теперь сделайте поиск "выберите", и вы идете!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...