在部署Lync 2013的时候,安装程序会在前端服务器上安装SQL Server 2012 Express RTM,并且创建几个LOCAL的实例。

我也是在升级Skype For Business Server 2015的时候才发现的。当时是报了这样一个错误。

 为 Lync 2013 前端升级 Sql Server 2012 Express SP1_升级


大多数解决办法是安装整个Sql Server 2012 的SP1,或是使用windows update来搜索并安装更新。那么问题来了,整个安装2012的SP1,3.6G,使用windows update搜索更新,1.1G的SP2。而下载一个Sql server 2012 Express with SP1的安装包也才130M,其时间成本不成正比。

为 Lync 2013 前端升级 Sql Server 2012 Express SP1_SP1_02

首先明确下Lync2013前端在安装sql server 2012 express时会安装哪些实例。

标准版前端:

  • RTCLocal

  • Lynclocal

  • RTC

企业版前端

  • RTCLocal

  • LyncLocal


接下来去下载SQL Sserver 2012 Express with SP1的安装包:https://www.microsoft.com/en-us/download/details.aspx?id=35579 ,这里注意,哪怕你安装的是中文版的Lync 2013,你也要下载英文版的安装包,因为自带的就是英文版…不信下面会有图验证

然后管理员模式打开命令行,

敲命令

SQLEXPR_x64_ENU.exe /ACTION=PATH /INSTANCENAME=RTCLOCAL /IAcceptSQLSERVERLICENSETERMS

回车之后开始解压缩,并且准备安装。

为 Lync 2013 前端升级 Sql Server 2012 Express SP1_sql server 2012expre_03

注意图中的红框位置,代表此实例的语言是英语,

 为 Lync 2013 前端升级 Sql Server 2012 Express SP1_SP1_04

如果你下载了一个中文版的并尝试升级,这里它会提示你找不到需要升级的产品。



为 Lync 2013 前端升级 Sql Server 2012 Express SP1_Lync2013_05

如图,安装程序会逐步升级2个实例。

为 Lync 2013 前端升级 Sql Server 2012 Express SP1_SP1_06

为 Lync 2013 前端升级 Sql Server 2012 Express SP1_Lync2013_07


升级完成之后,我们用一个脚本来验证一下升级的成果,脚本来自这里,该脚本可以获取当前安装的所有SQL实例的各项信息。

没升级之前

为 Lync 2013 前端升级 Sql Server 2012 Express SP1_SP1_08

升级完成之后

为 Lync 2013 前端升级 Sql Server 2012 Express SP1_SP1_09

当然升级过程也可以简化为一条一条的每实例升级,命令如下

SQLEXPR_x64_ENU.exe /ACTION=Patch /INSTANCENAME=RTCLOCAL /QS /HIDECONSOLE /IAcceptSQLServerLicenseTerms

SQLEXPR_x64_ENU.exe /ACTION=Patch /INSTANCENAME=LYNCLOCAL /QS /HIDECONSOLE /IAcceptSQLServerLicenseTerms

如果是标准版:则是以下命令

SQLEXPR_x64_ENU.exe /ACTION=Patch /INSTANCENAME=RTCLOCAL /QS /HIDECONSOLE /IAcceptSQLServerLicenseTerms

SQLEXPR_x64_ENU.exe /ACTION=Patch /INSTANCENAME=LYNCLOCAL /QS /HIDECONSOLE /IAcceptSQLServerLicenseTerms

SQLEXPR_x64_ENU.exe /ACTION=Patch /INSTANCENAME=RTC /QS /HIDECONSOLE /IAcceptSQLServerLicenseTerms


使用上面的命令相当于静默升级,但是有可能会出现的情况是,你升级好了第一个实例,第二个实例升级不生效。此时不妨先重启一下,再执行第二条。