SQL Server 链接服务器的 DATA ACCESS 属性更改为 false

pva*_*ero 5 sql-server linked-server

我有一个 SQL Server 实例,其中包含一个代理作业,该作业通过链接服务器访问第二个实例。有时,链接服务器的数据访问属性看似随机地从 true 更改为 false(并且代理作业开始失败)。

该代理作业在早上 5 点到晚上 8 点之间每 10 分钟运行一次,并且链接服务器的更改总是在夜间的某个时间发生,尽管我还无法确定具体时间。我确实还有其他工作——一些供应商提供的,还有其他工作,例如备份、索引和统计维护等(Ola Hallengren 的脚本)——但没有其他工作使用该链接服务器,也没有任何其他工作会明确接触它。

什么会导致链接服务器数据访问发生变化?我可以执行哪些故障排除或跟踪来确定导致此问题的原因?

Zik*_*ato 9

据我所知,更改链接服务器属性的唯一方法是通过系统过程sp_serveroption

即使您通过 GUI 更改属性,此过程也会在后台调用。

因此,您可以创建一个扩展事件会话来跟踪该过程的执行。

CREATE EVENT SESSION [LinkedServerChange] ON SERVER 
ADD EVENT sqlserver.module_start
(
    SET collect_statement=(1)
    ACTION
    (
        sqlserver.client_app_name
        ,sqlserver.client_hostname
        ,sqlserver.database_name
        ,sqlserver.server_principal_name
        ,sqlserver.tsql_stack
    )
    WHERE [object_name]=N'sp_serveroption'
)
ADD TARGET package0.event_file
(
    SET filename=N'LinkedServerChange'
    , max_file_size=(2)
    , max_rollover_files=(2)
)
GO
ALTER EVENT SESSION [LinkedServerChange] ON SERVER STATE = START
Run Code Online (Sandbox Code Playgroud)

结果看起来像这样 在此输入图像描述