修复 SBS Server 2008 上与 WSUS 相关的 DB 膨胀、卸载和安装问题?

修复 SBS Server 2008 上与 WSUS 相关的 DB 膨胀、卸载和安装问题?

环境:SBS Server 2008
DC/域服务器:Windows Server 2008 FE

  • Microsoft Windows 服务器更新服务 3.0 SP1 - MMC
    SUSDB.MDF 的起始大小为 14.x GB,当尝试使用更新清理选项 {将从我们找到的一篇文章中链接更多详细信息来执行此操作} 时,它会持续很长时间,然后最终崩溃,现在 SUSDB.MDF 文件为 24.x GB

    尝试了几次但它会再次崩溃并且尺寸没有缩小。

  • 所以我们想也许可以卸载“Microsoft Windows 服务器更新服务 3.0 SP1“并通过重新安装它或更新的版本来重新开始。

    卸载程序要求在一个e:\..long guid like hex number..\...\..不在所述位置或服务器上的任何其他驱动器或位置处的文件。

    由于卸载未正确完成,它已关闭。

  • 我们无法从 SQL Server Management Studio Express 删除 MDF 文件或执行任何删除或缩减操作。

  • 我们认为可以在这里安装最新版本:Microfost 的 3.0 SP2: https://www.microsoft.com/en-us/download/details.aspx?id=5216

    然后尝试清理/卸载,但这也无法安装,失败并指向附加的文件日志,并且程序和功能中没有程序/工作 MMC 或卸载条目。

那么,在这种情况下我们现在能做什么呢?

WSUS 安装/设置日志文件:
C:/Users/administrator.COMPANY/AppData/Local/Temp/WSUSSetup.log
2016-05-03 13:41:42 Success MWUSSetup Validating pre-requisites... 2016-05-03 13:41:57 Success MWUSSetup Removing Wsus... 2016-05-03 13:55:48 Error MWUSSetup RemoveWsus: MWUS Uninstall Failed (Error 0x8007064C: The installation source for this product is not available. Verify that the source exists and that you can access it.) 2016-05-03 13:55:48 Error MWUSSetup Wsus MSI uninstallation failed. (Error 0x8007064C: The installation source for this product is not available. Verify that the source exists and that you can access it.) 2016-05-03 13:55:48 Error MWUSSetup CSetupDriver::LaunchSetup: Setup failed (Error 0x8007064C: The installation source for this product is not available. Verify that the source exists and that you can access it.) 2016-05-03 13:55:54 Error MWUSSetup DoInstall: Wsus setup failed (Error 0x8007064C: The installation source for this product is not available. Verify that the source exists and that you can access it.) 2016-05-03 15:05:54 Success MWUSSetup Validating pre-requisites... 2016-05-03 15:05:54 Error MWUSSetup WSUS is outdated. But this will not block setup (Error 0x00000000: The operation completed successfully.) 2016-05-03 15:05:56 Error MWUSSetup ExecuteQuery: Failed to execute SQL query USE SUSDB IF EXISTS (select * FROM master..sysdatabases WHERE name= N'SUSDB' AND suser_sname(sid) is null) EXEC dbo.sp_changedbowner N'COMPANY\administrator' (Error 0x80040E14) 2016-05-03 15:05:56 Error MWUSSetup ExecuteQueryGetNoResults: Failed to execute query USE %s IF EXISTS (select * FROM master..sysdatabases WHERE name= N'%s' AND suser_sname(sid) is null) EXEC dbo.sp_changedbowner N'%s' (Error 0x80040E14) 2016-05-03 15:05:56 Error MWUSSetup CUpgradeDriver::PerformPreSetupActions: Failed to reset database owner name for SUSDB to owner COMPANY\administrator (Error 0x80040E14) 2016-05-03 15:05:56 Error MWUSSetup CSetupDriver::LaunchSetup: Failed to perform pre-setup actions (Error 0x80040E14) 2016-05-03 15:05:56 Error MWUSSetup CProgressManager::EnableCancel: GetDlgItem returning error (Error 0x80070578: Invalid window handle.)

答案1

多次尝试链接 3.0 SP2 并进行大量 SQL/Regitry & Server/IIS 设置,但均无效果。

我肯定读过数百篇文章和博客帖子,但尽管进行了大量的手动修改/注册表/数据库更改/权限/文件夹和文件操作,下载的 SP2 仍然无法安装。

我将发布更多无效操作和有效操作的链接。

步骤 1:从 SBS ISO 重新安装 WSUS 3.0 SP1:

我最终能够通过包含 WSUS 3.0 SP1 的 SBS ISO 重新安装 WSUS。

认为后续版本会同样好用甚至效果更好的假设是错误的。

步骤 2:使用 Adamj 的脚本进行 WSUS 修剪:

安装后,我使用下面链接中的 AdamJ 脚本进行清理:

附言:我没有这个脚本的版权,因此我链接到它并引用它的作用。

看看我的 Adamj Clean-WSUS 脚本。这是您所需的最后一个 WSUS 脚本。

http://community.spiceworks.com/scripts/show/2998-adamj-clean-wsus

它能做什么:

  1. 通过拒绝被取代的更新来缩小 WSUSContent 文件夹的大小。
  2. 它将清除所有随着时间推移而积累的同步日志(可配置,默认保留最近 14 天的日志)。
  3. 从 WSUS 数据库中删除所有驱动程序。
  4. 从 WSUS 数据库中删除拒绝的更新
  5. 运行服务器清理向导。
  6. 最后,但最重要的是,它将在实际的 SQL 数据库上运行推荐的维护脚本。

它会通过电子邮件将报告发送给您或将其保存到文件中,或两者兼而有之。

按照脚本顶部的说​​明进行操作,但本质上运行 .\Clean-WSUS.ps1 -FirstRun,然后设置计划任务以在您希望的每天时间使用 -ScheduledRun 运行脚本。

相关内容