If you do find deleted identities, run the following SQL script in a query window on VC database to fix the problem. The values XX and YY below are the deleted identity ids.
BEGIN TRAN DECLARE @deletedUniqueUserId INT DECLARE @authKey1 VARBINARY(85) DECLARE @authKey2 VARBINARY(85) DECLARE @base VARBINARY(85)
SET @base = 0xFFEEEEEE SET @authKey1 = @base + CAST (NEWID() AS VARBINARY(85)) SET @authKey2 = @base + CAST (NEWID() AS VARBINARY(85))
SELECT @deletedUniqueUserId = CounterValue FROM tbl_Counter WITH (UPDLOCK) WHERE CounterName = 'UniqueUserId'
SET IDENTITY_INSERT dbo.tbl_Identity ON
INSERT INTO dbo.tbl_Identity(IdentityId, AuthenticationKey, AuthenticationType, DisplayName, IsGroupIdentity, UniqueUserId, CreationDate) VALUES (XX, @authKey1, 1, 'LCC\Unknown', 0, @deletedUniqueUserId, GETUTCDATE())
INSERT INTO dbo.tbl_Identity(IdentityId, AuthenticationKey, AuthenticationType, DisplayName, IsGroupIdentity, UniqueUserId, CreationDate) VALUES (YY, @authKey2, 1, 'LCC\Unknown', 0, @deletedUniqueUserId+1, GETUTCDATE())
UPDATE tbl_Counter SET CounterValue = CounterValue + 2 WHERE CounterName = 'UniqueUserId'
SET IDENTITY_INSERT dbo.tbl_Identity OFF COMMIT TRAN
Software Development, Microsoft |