آیا شما از mirroring یا Replicate استفاده میکنید اگر از این ابزار استفاده میکند در زمان Roll over این اتفاق می افتد

راه حل
با جای گذاری قسمت های مربوطه از قبیل نام فیلد و نام جدول و نام دیتابیس این پروسیجر رو در دیتابیس master ذخیره کنند و یکبار ریستارت کنن و بعد از ان به صورتی که خودشان تعیین کرده اند انجام خواهد شد.


USE [master]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
----=======درست کردن پروسیجر در دیتابیس مستر برای شناسایی اخرین ای دی ایدنتیتی ==============
Create PROCEDURE [dbo].[ResetOrderIdentityAfterRestart]
AS
BEGIN
begin TRAN
declare @id int = 0
SELECT @id = MAX(id)
FROM [DatabaseName].dbo.[TableName]
--print @id
DBCC CHECKIDENT ('[DatabaseName].dbo.[TableName]', reseed, @id)
Commit
END



----========اجرا بعد از هر بار راهندازی به صورت اتوماتیک =========

EXEC sp_procoption 'ResetOrderIdentityAfterRestart', 'startup', 'on';

برای اطلاعات بیشتر به لینک های زیر مراجعه کنید:
http://beyamooz.com/forum/threads/10...8%B1-SQLSERVER


http://stackoverflow.com/questions/1...erver-database