服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Sql Server - SQL Server修改标识列方法 如自增列的批量化修改

SQL Server修改标识列方法 如自增列的批量化修改

2019-12-16 14:37MSSQL教程网 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 


还有很多批量操作的知识, 
如批量检查索引是否准确 
字段的长度是否一致 
作业是否运行结果一致 
服务是否同时启动 
…… 
都需要批量来处理。 
可参考我其他的文章获取其他批量操作的方法。

延伸 · 阅读

精彩推荐