迪克,
你可以通過執行DBCC CheckIdent command
不幸的是很容易地改變標識列的下一個值,沒有更新標識列值的簡單方法。 對於現有的記錄,我到現在爲止所經歷的是將所有數據複製到一個新的臨時表中並在此輔助表上組織值。然後放下現有的表格。如下步驟將臨時表重命名爲原始表名。
如果試圖刪除列的標識屬性中,SSMS如下
BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
GO
CREATE TABLE dbo.Tmp_MyTable
(
id int NOT NULL,
value int NULL
) ON [PRIMARY]
GO
ALTER TABLE dbo.Tmp_MyTable SET (LOCK_ESCALATION = TABLE)
GO
IF EXISTS(SELECT * FROM dbo.MyTable)
EXEC('INSERT INTO dbo.Tmp_MyTable (id, value)
SELECT id, value FROM dbo.MyTable WITH (HOLDLOCK TABLOCKX)')
GO
DROP TABLE dbo.MyTable
GO
EXECUTE sp_rename N'dbo.Tmp_MyTable', N'MyTable', 'OBJECT'
GO
COMMIT
我知道這聽起來不是一個簡單的方法來更新標識列值生成一個腳本。
我認爲你正在尋找'+'。 –
[修改主鍵](https://msdn.microsoft.com/en-us/library/ms189251.aspx) –
什麼是[tag:sas]標籤?這是偶然的,還是這實際上會進入SAS? – Joe