我有数百个报告部署在MSSQL报告服务器中。其中很少有报告嵌入了数据源,其余报告都有共享数据源。是否有任何查询或简单方法来区分具有共享和嵌入数据源的报告?
答案 0 :(得分:2)
您可以使用以下查询:
WITH XMLNAMESPACES(DEFAULT 'http://schemas.microsoft.com/sqlserver/reporting/2010/01/reportdefinition')
SELECT C.Name,
CONVERT(XML,CONVERT(VARBINARY(MAX),C.Content)).exist('/Report/DataSources/DataSource/ConnectionProperties') AS EmbeddedSourcePresent,
CONVERT(XML,CONVERT(VARBINARY(MAX),C.Content)).exist('/Report/DataSources/DataSource/DataSourceReference') AS SharedSourcePresent
FROM ReportServer.dbo.Catalog C
WHERE C.Content is not null
AND C.Type = 2
您可能需要根据ssrs版本更改命名空间。我希望这会有所帮助。