San*_* KB 3 linked-server sql-server-2012 transactional-replication
正在使用的服务器:SQL Server 2012 SP3
我刚刚收到一个奇怪的错误(很奇怪,因为它之前工作过)
could not connect to server LNK_SRV because sa is not defined as a remote login
Run Code Online (Sandbox Code Playgroud)
sys.servers 说 LNK_SRV 的 is_linked = 0 - 不知道为什么。返回结果如下
select top 10 * from LNK_SRV.DBName.dbo.TblName
Run Code Online (Sandbox Code Playgroud)
但手续却失败了
exec LNK_SRV.DBName.dbo.ProcName
Run Code Online (Sandbox Code Playgroud)
在我们删除链接服务器并重新添加它之前,它工作正常。
此外,LNK_SRV 也用于复制。
注意:我知道 sa 很糟糕。很快就会得到处理。
链接服务器还用于复制。
订阅和创建链接服务器的顺序是问题所在。
重现错误:
1. 删除订阅
2. 删除链接服务器
3. 首先配置订阅
4. 接下来是链接服务器
5. 测试
- a。Select 将返回结果
- b.Exec proc 结果出错
修复:
1. 删除订阅
2. 删除链接服务器
3. 首先创建链接服务器
4. 接下来配置订阅
5. 测试
- a。Select 将返回结果
- b.Exec proc 将会成功
此外,在链接服务器上执行以下操作也有效。
--Run this statement on LNK_SRVR
exec sp_AddRemoteLogin 'CurrServer','sa'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8134 次 |
最近记录: |