You have a computer that is running Microsoft Office Communications Server 2007 R2. The following event is logged in the Office Communications Server log:
Event Type: Error Event Source: OCS Address Book Server Event Category: (1008) Event ID: 21071 Date: Date Time: Time User: N/A Computer: ComputerName Description: Failed to upload contact to address book database
Contact Id:ContactID User Id: UserID Exception: Microsoft.Rtc.ABServer.RtcAbBulkInsertException: Failed to bulk insert address book contacts ---> System.Data.SqlClient.SqlException: Violation of PRIMARY KEY constraint 'PK_AbAttributeValueIdx'. Cannot insert duplicate key in object 'dbo.AbAttributeValue'. The statement has been terminated. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlBulkCopy.WriteToServerInternal() at System.Data.SqlClient.SqlBulkCopy.WriteRowSourceToServer(Int32 columnCount) at System.Data.SqlClient.SqlBulkCopy.WriteToServer(DataTable table, DataRowState rowState) at Microsoft.Rtc.ABServer.RtcAbBulkInsert.BulkInsert() --- End of inner exception stack trace --- at Microsoft.Rtc.ABServer.RtcAbBulkInsert.BulkInsert() at Microsoft.Rtc.ABServer.RtcAb.UploadAbContacts(RtcAbDataFile abDataFile)
This issue occurs if you have two or more values in the proxyAddresses attribute that are identical, except for differences in accents. For example, the attribute has the values email@example.com and hélène@vdomain.com.
Note This issue only affects Microsoft Office Communicator Mobile 2007 R2 users.
In a Microsoft SQL Server database, index comparisons are made by using the Latin1_General_CI_AI collation. Because the rules for this collation are case-insensitive and accent-insensitive, values that contain accented characters will be indexed without these accents. For example, the value hélène@vdomain.com will be indexed as firstname.lastname@example.org. However, when the attribute also has the value email@example.com, this value will also be indexed as firstname.lastname@example.org. Because of these duplicate indexes, SQL Server throws an exception.
To fix this problem, apply the following update:
977345 Description of cumulative update for Office Communications Server 2007 R2: January, 2010
To work around this issue, you can remove values from the proxyAddresses attribute that are identical, except for differences in accents. In the example that is provided in the "Symptoms" and "Cause" sections, you might remove hélène@vdomain.com from the proxyAddresses attribute.