我们已从 SSRS 2012 迁移到 SSRS 2016,并将其移至新域。
使用下面的代码,我们能够列出所有数据源及其连接字符串。我们如何使用 PowerShell 或 T-SQL 更改近 700 个报告的连接字符串?(以便指向新的数据仓库服务器)
WITH XMLNAMESPACES -- XML namespace def must be the first in with clause.
(DEFAULT 'http://schemas.microsoft.com/sqlserver/reporting/2006/03/reportdatasource'
,'http://schemas.microsoft.com/SQLServer/reporting/reportdesigner'
AS rd)
,SDS AS
(SELECT SDS.name AS SharedDsName
,SDS.[Path]
,CONVERT(xml, CONVERT(varbinary(max), content)) AS DEF
FROM dbo.[Catalog] AS SDS
WHERE SDS.Type = 5) -- 5 = Shared Datasource
SELECT CON.[Path]
,CON.SharedDsName
,CON.ConnString
FROM
(SELECT SDS.[Path]
,SDS.SharedDsName
,DSN.value('ConnectString[1]', 'varchar(150)') AS ConnString
FROM SDS
CROSS APPLY
SDS.DEF.nodes('/DataSourceDefinition') AS R(DSN)
) AS CON
-- Optional …
Run Code Online (Sandbox Code Playgroud) 在 SQL 2016 上使用扩展事件 - 我们如何捕获用户针对特定数据库运行的所有查询。这有助于我们了解哪些开发人员/报告分析师/etl 开发人员正在对生产实例运行查询。
预期结果:用户名、TSQL 查询运行、完成时间
使用以下查询过滤记录:
select * from SearchRecord where searchkeyword1 like '[%'
Run Code Online (Sandbox Code Playgroud)
也试过这个
select * from SearchRecord where searchkeyword1 like '%[%'
Run Code Online (Sandbox Code Playgroud)
表中的记录包含这些值(如下所示,我需要最后 2 条记录,为什么这个简单的喜欢不会过滤记录)
"Affiliate" means
"Agent's Rate of Exchange" means
["Aggregate Total Commitments" means
["Agreed Security Principles" means
Run Code Online (Sandbox Code Playgroud)