SQL Server修改標識列方法 如自增列的批量化修改

最近在運行系統時需要對所有服務器上數據結構進行批量修改某個字段的自增屬性改成非自增。

通過界面設計上是能手工操作的,無法達到我批量修改幾千臺服務器。

因爲此了一個腳本來批量執行。

環境:redgate + mssql 2008 r2

 以下代碼根據自己的業務稍做修改即使用。

--允許對系統表進行更新
exec sp_configure 'allow updates',1
reconfigure with override
GO

--取消標識列標記
update syscolumns set colstat = 0 where id = object_id('tablename') and colstat = 1
GO

--插入id=8001-8003的行

--恢復標識列標記
update syscolumns set colstat = 1 where id = object_id('tablename') and name = '標識列名稱'

--重新設置標識的起始值
DBCC CHECKIDENT (表名稱, RESEED, 10003)

--禁止對系統表進行更新
exec sp_configure 'allow updates',0
reconfigure with override

 

還有很多批量操作的知識,

如批量檢查索引是否準確

字段的長度是否一致

作業是否運行結果一致

服務是否同時啓動

……

都需要批量來處理。

可參考我其他的文章獲取其他批量操作的方法。

 

 


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章