使用 SSDT 的 SSIS 包部署失敗
SSIS 在部署嚮導(包部署模型)的最後“部署項目”步驟中幾乎立即失敗,使用 Visual Studio 2010 (SSDT) 連接到 SQL 2012 伺服器:
Failed to deploy project. For more information, query the operation_messages view for the operation identifier '10028'. (Microsoft SQL Server, Error: 27203)
報告 XML 包含很少的問題線索,但是“0x80131904”可能表明可能存在網路庫問題。
System.Data.SqlClient.SqlException (0x80131904): Failed to deploy project. For more information, query the operation_messages view for the operation identifier '10026'. 
 at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) ... Microsoft.SqlServer.Management.IntegrationServices.CatalogFolder.DeployProject(String projectName, Byte[] projectStream) ... Error Number:27203,State:1,Class:16
視圖不返回該
Operation_Messages
ID 的數據。集成服務的目錄
All Operations
報告僅報告失敗/部署項目。有趣的是,如果我通過 SQL Server Management Studio 執行嚮導(右鍵點擊
Projects
項目的選項卡並選擇Deploy Project
並瀏覽/導入ispac
文件),包會成功部署。請注意,我正在遠端執行 SSMS 以及 VS2010/SSDT,所以我不確定為什麼只有 VS2010 失敗。我也嘗試調整
Server-wide Default Logging Level
toVerbose
但這似乎沒有提供任何額外的資訊。關於為什麼 SSDT 無法部署軟體包的任何想法?
我遇到了這個錯誤(並且把我的頭髮拉了出來)——即使我在 operation_message 視圖中沒有任何行,也有一行
$$ catalog $$.$$ operations $$. 我注意到 server_name 是機器的舊名稱。對於最近成功的部署$$ catalog $$.$$ operations $$, server_name 是機器的目前名稱。 我還注意到 SELECT @@SERVERNAME 和 SELECT SERVERPROPERTY(‘SERVERNAME’) 都返回了機器的舊名稱。(通常@@SERVERNAME 將具有陳舊的名稱,但 SERVERPROPERTY(‘SERVERNAME’) 將具有目前名稱)。
所以我跑了
exec sp_dropserver 'old_name'; GO exec sp_addserver 'current_name'; GO
並重新啟動 SQL 服務,然後部署工作。