【发布时间】:2017-07-23 09:04:16
【问题描述】:
我在 MSSQL 报告服务器中部署了数百个报告。其中很少有报告具有嵌入式数据源,其余报告具有共享数据源。是否有任何查询或简单的方法来区分具有共享和嵌入数据源的报表?
【问题讨论】:
标签: reporting-services ssrs-2008 ssrs-2008-r2 ssrs-2012 reportingservices-2005
我在 MSSQL 报告服务器中部署了数百个报告。其中很少有报告具有嵌入式数据源,其余报告具有共享数据源。是否有任何查询或简单的方法来区分具有共享和嵌入数据源的报表?
【问题讨论】:
标签: reporting-services ssrs-2008 ssrs-2008-r2 ssrs-2012 reportingservices-2005
您可以使用以下查询:
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 版本更改命名空间。我希望这会有所帮助。
【讨论】: