场景:

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

 

https://technet.microsoft.com/zh-cn/library/hh852349.aspx

http://blog.csdn.net/hadstj/article/details/7762406 (WSUS KB2720211升级故障)