我正在为 Biztalk 2009 数据库设置 biztalk logshipping。以下http://msdn.microsoft.com/en-us/library/aa560961.aspx文章中,我正在执行以下操作在目标服务器上设置 biztalk 日志传送:
通过以下方式启用临时查询:
sp_configure 'show advanced options',1
go
reconfigure
go
sp_configure 'Ad Hoc Distributed Queries',1
go
reconfigure
go
sp_configure 'show advanced options',0
go
reconfigure
go
- 在目标服务器上的主服务器上执行 LogShipping_Destination_Schema 和 LogShipping_Destination_Logic
跑步:
exec bts_ConfigureBizTalkLogShipping @nvcDescription = '', @nvcMgmtDatabaseName = '', @nvcMgmtServerName = '', @SourceServerName = null, -- null 表示此目标服务器恢复所有数据库 @fLinkServers = 1 -- 1 自动将服务器链接到管理数据库
当我运行此程序时,收到以下错误:
Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.
经过一番研究,我发现了一些信息:
通常,此错误意味着未配置 SQL Server 服务主体名称 (SPN),并且未使用 NTLM 作为身份验证机制。
SQL 服务在不同的域帐户下运行。因此,我要求域管理员使用名称和 FQDN 为服务器创建 SPN,为源和目标创建 SQL 服务帐户。启用计算机名称和服务帐户进行委派。当我运行以下命令时:
select * from sys.dm_exec_connections
我可以看到所有 TCP 连接都是通过 Kerberos 建立的,但仍然存在同样的错误:
用户“NT AUTHORITY\ANONYMOUS LOGON”登录失败
请问有什么帮助吗?
答案1
上述过程创建了具有集成安全性的链接服务器以进行授权。解决方法是将链接服务器上的安全性更改为使用服务帐户。