場景
有兩台SQL Server ,一台是運行作業,一台作為SSIS 服務器。 SSIS 中的包用windows 連接 其它數據庫。
即
運行結果
失敗提示 Login Failed for user 'NT Authority\ANONYMOUS' LOGON"
分析結果
解決方案
使用kerberos認證 ,解決雙跳身份驗證, 如果是作業和SSIS 都在一個服務器中,不存在這
網絡有許多關於kerberos 和NTML 驗證區別 ,這不做詳細說明。
解決步聚,很簡單使用二步。
1.設置一個域賬號 委派, ( 我是從最簡單,最粗略設置)
在域控服務器, 找到windows驗證的使用用戶進行設置 選擇 (信任此用戶作為任何服務的委派(僅Kerberos)
2. 設置數據庫 SPN
我分別是兩台SQL server 虛機進行設置 , 使用命令 setspn
pc-3 計算機
setspn -S MSSQLSvc/PC-3.tech.com:1433 tech\msbi
setspn -S MSSQLSvc/PC-3.tech.com:1433 tech\msbi
PC-3.tech.com 是計算機名稱,全名稱, 1433 是數據庫端口號,tech\msbi是域賬號
pc-6 計算機
setspn -S MSSQLSvc/PC-6.tech.com:1433 tech\msbi
實驗驗證
SPN 狀態可能有時會無效,有一個工具(Keberos Configuration Manager) 可以驗證
再運行作業