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

還有很多批量操作的知識,
如批量檢查索引是否準確
字段的長度是否一致
作業是否運行結果一致
服務是否同時啟動
……
都需要批量來處理。
可參考我其他的文章獲取其他批量操作的方法。

? 版權聲明
THE END
喜歡就支持一下吧
點贊5 分享