修补 SQL 服务器 LocalDB

Patching SQL Server LocalDB

我安装了 SQL Server 2017 LocalDb (v14.0.1000.169)。我想以无人值守的方式使用最新的 CU 修补此安装。

当我 运行 来自 SQLServer2017-KB4508218-x64 的 setup.exe 时,它说我没有安装合适的版本。

C:\test\extracted>setup.exe /action=patch /allinstances /quiet /IAcceptSQLServerLicenseTerms
Microsoft (R) SQL Server 2017 14.00.3223.03
Copyright (c) 2017 Microsoft.  All rights reserved.

No features were updated during the setup execution. The requested features may not be installed or features are already at a higher patch level. Please review the summary.txt logs for further details.
The version of SQL Server instance Shared Component does not match the version expected by the SQL Server update. The installed SQL Server product version is 13.1.4414.46, and the expected SQL Server version is 14.0.1000.169.

但我确实安装了那个版本的 localdb:

C:\test\extracted>sqllocaldb versions 
Microsoft SQL Server 2017 (14.0.1000.169)

我在这里做错了什么?还有其他更新 LocalDB 的方法吗?由于此版本的 LocalDB 存在已知问题,我需要这样做。

运行 交互式安装程序没有帮助 - 给出相同的消息。

看来,如果您仅使用 sqllocaldb.msi 安装 localdb,CU 安装程序将永远无法修补您的 localdb 实例。这似乎是一个长期存在的错误:

https://sqlblog.org/2012/09/06/sqllocaldb-vs-cumulative-updates

由于 Microsoft 没有提供超出 RTM 版本的更新 sqllocaldb.msi,您只能使用 full installer for the Express edition 然后使用 CU 安装程序应用 CU。

这成功检测到 localdb(以及我被迫安装的 Express 实例)并修补了两者。