开源 mysql google centos linux php Firefox 云计算 Windows 编程 Android Python Ubuntu java 微软 程序员 apache shell nginx wordpress

WSUS數據庫遠端存儲條件下切換域及數據庫遷移

場景:

wsus數據庫存在遠端服務器,wsus和數據庫加入同一個域,切換到另一個域後wsus和數據庫無法連接。

查看日誌文件(C:\Program Files\Update Services\LogFiles\SoftwareDistribution.log)發現和數據庫連接失敗:login failed for user 'domain\wsusservername$'

解決辦法:在wsus數據庫服務器上添加新的logins即可,格式:domain\wsusservername$

遷移至其他數據庫:

1、備份源wsus數據庫,拷貝susdb備份到目標數據庫上還原(login:domain\wsusservername$將自動還原);

或:分離源wsus數據庫(最好先備份),復制到目標數據庫,附加。

2、修改註冊表(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup)sqlservername值為遠程目標數據庫服務器名;

3、添加logins(使用備份、還原數據庫刷新logins即可);

4、建議新建一個數據庫管理的域賬號(如domains\dbadmin,並添加到logins),用於WSUS登錄控制臺,否則WSUS服務器administrator賬號和遠程SUSDB數據庫服務器administrator賬號密碼需要一致。

ps:SUSDB從SQL2005遷移至SQL2012,測試成功。

參考以下資料:

WSUS 的數據庫用的是一個 SSEE 的 SQL SERVER 2005 的專用版本,只能用於 WSUS、UDDI、SharePoint 等。不同於 Express 版的是,它的大小沒有限制。

    本地的 Windows internal Database 的寫法比較特殊:
    %computername%\Microsoft##SSEE 或者\\.\pipe\mssql$microsoft##ssee\sql\query

    1、修改 WSUS 服務器的註冊表。找到;
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup
修改以下內容:
SqlServerName: %computername%\Microsoft##SSEE -> 遠程 SQL 服務器的名字

SqlInstanceIsRemote: 0 -> 1
wYukonInstalled: 1 -> 0
    2、把 WSUS 數據庫的文件復制到遠程的 SQL 服務器上,並附加數據庫
    3、添加 Login。就是 WSUS 服務器的名字,格式:Domain\WSUSServer。用戶映射選中 WSUS 中的 WebService,就行了。

114646613.png

   4、網上還有人說啟用嵌套觸發器。

微軟說,默認情況下,此選項是啟用的。為保險起見,如果要使用遠程的 SQL Server 數據庫作為 Windows Server Update Services 數據存儲,應該驗證是否已啟用服務器上的嵌套觸發器選項。

WSUS 安裝程序啟用 RECURSIVE_TRIGGERS 選項,這是數據庫特定的選項;但是,它不會啟用嵌套觸發器選項,此為服務器全局選項。

要查看是否已啟用嵌套觸發器選項,請使用下列內容:

sp_configure 'nested triggers'

要在 SQL Server 中啟用嵌套觸發器選項,請在運行 SQL Server 的計算機上的批文件中運行下列內容:

sp_configure 'nested triggers', 1

GO

RECONFIGURE

GO

延伸阅读

    评论