Lync 2010 升级到Lync 2013 故障解决一例!

今天协助客户在Lync 2010 上安装了CMS 数据库,安装完成后,我们利用移动 CMS 的 Powershell 命令。移动完成后为了完成Lync CMS Holder 角色.

然后我们重启2013 服务器就发生问题了,所有用户都出现掉线的情况,然后始终无法登陆。在服务器中不断的出现警告日志,在拓扑架构中的服务器User Server 和 Registrar服务始终无法正常启动,然后查看日志,始终有以下两个错误ID:


一个是 EVENTID 是32174 

Log Name: Lync Server
Source: LS User Store Sync Agent
Event ID: 57006
Level: Warning
Keywords: Classic
Description: The RtcDb Sync Agent has encountered an Exception:

System.Data.SqlClient.SqlException (0x80131904): Violation of PRIMARY KEY constraint 'PK__#B91E3E0__66842180FE100268'. Cannot insert duplicate key in object 'dbo.@Contact'. The duplicate key value is (user2@contoso.com).
###63020:ReppOnDataReceived:Failed to import lcd for user user1@contoso.com.
The statement has been terminated.
###50001:ImppImportLowChurnData:Propagation
###50001:XdspApplyChanges:Propagation
###50001:XdspOnDataReceived:Propagation
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at Microsoft.Rtc.Common.Data.DBCore.Execute(SprocContext sprocContext, SqlConnection sqlConnection, SqlTransaction sqlTransaction)
ClientConnectionId:9185170e-60f4-48b3-9f72-5e80d5a65b45

另外一个就是57006

Log Name: Lync Server
Source: LS User Store Sync Agent
Date: 8/19/2013 12:50:16 AM
Event ID: 57006
Task Category: (1061)
Level: Warning
Description:
The RtcDb Sync Agent has encountered an Exception: [System.Data.SqlClient.SqlException (0x80131904): XML parsing: line 1, character 61530, semicolon expected
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at Microsoft.Rtc.Common.Data.DBCore.Execute(SprocContext sprocContext, SqlConnection sqlConnection, SqlTransaction sqlTransaction)


经过多次尝试,网上方法搜索一大堆,结果还是没有方法解决,后来查到一篇文章讲重建配置数据库的,这方法值得一试,我们先把配置及用户数据线备份下:

PS C:\Users\Lync_Admin> Export-CsConfiguration -FileName "C:\Config.zip"
PS C:\Users\Lync_Admin> Export-CsLisConfiguration -FileName C:\E911Config.bak
PS C:\Users\Lync_Admin> Export-CsUserData -PoolFqdn -FileName "C:\ExportedUserData.zip"

接下来我们执行如下的命令:

Install-CsDatabase -ConfiguredDatabases -SqlServerFqdn  test.test.com  -UseDefaultSqlPaths –Clean


执行完毕后,我们发现2013 所有的前端都起来了。问题得到了解决,不过这个步骤危险系数高,他相当于重建所有的配置数据库!


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雾岛心情

欢迎你的打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值