Sql-Server-2012

使用 SSDT 的 SSIS 包部署失敗

  • June 21, 2021

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_MessagesID 的數據。

集成服務的目錄All Operations報告僅報告失敗/部署項目。

有趣的是,如果我通過 SQL Server Management Studio 執行嚮導(右鍵點擊Projects項目的選項卡並選擇Deploy Project並瀏覽/導入ispac文件),包會成功部署。請注意,我正在遠端執行 SSMS 以及 VS2010/SSDT,所以我不確定為什麼只有 VS2010 失敗。

我也嘗試調整Server-wide Default Logging LeveltoVerbose但這似乎沒有提供任何額外的資訊。

關於為什麼 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 服務,然後部署工作。

引用自:https://dba.stackexchange.com/questions/102519