Sql-Server

將 ##MS_SSISServerCleanupJobLogin## 使用者重新創建為 [##MS_SSISServerCleanupJobUser##

  • March 10, 2020

在安裝 SQL Server 2014 Service Pack 3 期間,我們收到以下錯誤:

錯誤:15151,嚴重性:16,狀態:1。

找不到使用者“##MS_SSISServerCleanupJobUser##”,因為它不存在或您沒有權限。

錯誤:912,嚴重性:21,狀態:2。

數據庫“master”的腳本級別升級失敗,因為升級步驟“SSIS_hotfix_install.sql”遇到錯誤 15151,狀態 1,嚴重性 16。

在實例上有 SQL 登錄

$$ ##MS_SSISServerCleanupJobLogin## $$ 在 SSISDB 數據庫中,有一個連結到此登錄名的 SQL 使用者,名為

$$ ##MS_SSISServerCleanupJobLogin## $$登錄後的第二天創建。 SSISDB 使用者應該是

$$ ##MS_SSISServerCleanupJobUser## $$並與登錄同時創建。 解決方案似乎是放棄

$$ ##MS_SSISServerCleanupJobLogin## $$使用者並創建正確的$$ ##MS_SSISServerCleanupJobUser## $$使用者。

USE [SSISDB]
GO
DROP USER [##MS_SSISServerCleanupJobLogin##]
GO

USE [SSISDB]
GO
CREATE USER [##MS_SSISServerCleanupJobUser##] FOR LOGIN [##MS_SSISServerCleanupJobLogin##]
GO
USE [SSISDB]
GO
ALTER USER [##MS_SSISServerCleanupJobUser##] WITH DEFAULT_SCHEMA=[dbo]
GO

任何人都可以看到刪除和重新創建 SSISDB 使用者引起的任何問題嗎?

這是一個生產實例。所有測試實例都正確配置了登錄名和使用者,因此成功安裝了服務包。

非常感謝

西蒙

我認為解決方案會奏效。不要忘記授予權限:

USE [SSISDB]
GO
GRANT EXECUTE ON [internal].[cleanup_server_project_version] TO [##MS_SSISServerCleanupJobUser##]
GO
GRANT EXECUTE ON [internal].[cleanup_server_retention_window] TO [##MS_SSISServerCleanupJobUser##]
GO

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