如何扩展主键的长度(DISABLE And ENABLE CHANGE_TRACKING)
来源:互联网 发布:华为手机降级软件 编辑:程序博客网 时间:2024/05/21 06:30
由于SQL性能优化或业务需求,往往在创建Table后需要扩展主键的长度,直接进行Alter Column会提示"ALTER TABLE ALTER COLUMN XXX failed because one or more objects access this colum",导致主键无法修改。这时可以使用DISABLE And ENABLE CHANGE_TRACKING临时取消约束,修改后再启用约束操作。
IF EXISTS ( SELECT 1
FROM sys.columns
WHERE name = '要修改的字段'
AND object_id = OBJECT_ID('要修改的表') )
BEGIN
IF EXISTS ( SELECT 1
FROM sys.change_tracking_tables
WHERE object_id = OBJECT_ID('要修改的表') )
BEGIN
ALTER TABLE 要修改的表 DISABLE CHANGE_TRACKING -- disable tracking
ALTER TABLE 要修改的表 ALTER COLUMN 要修改的字段 VARCHAR(50) NOT NULL
ALTER TABLE 要修改的表 ENABLE CHANGE_TRACKING -- enable tracking
END
ELSE
BEGIN
ALTER TABLE 要修改的表 ALTER COLUMN 要修改的字段 VARCHAR(50) NOT NULL
END
END
- 如何扩展主键的长度(DISABLE And ENABLE CHANGE_TRACKING)
- 关于主键约束enable和disable的问题
- 如何Enable/Disable菜单项
- 如何enable/disable菜单项
- 如何Enable/Disable菜单项
- To enable and disable Portal Trace
- Disable and enable a control using javascript
- Enable and disable ArcGIS Server Security
- 如何设置alertdialog,button enable 和 disable?
- Disable and enable Foreign Key and Check Constraints
- disable/enable validate/novalidate的区别
- disable/enable validate/novalidate 的区别
- restore factory属性的enable和disable
- MySQL DISABLE/ENABLE KEYS的作用
- disable/enable validate/novalidate 的区别 (ORACLE)
- 约束constraint的 enable/disable novalidate总结
- disable/enable validate/novalidate 的区别
- Oracle约束的关键字Enable/Disable…
- linux /proc/loadavg(平均负载)
- android中的apk资源获取
- Ansys反色显示窗口
- Jquery跳出each循环
- 如何排查SQL死锁的错误?
- 如何扩展主键的长度(DISABLE And ENABLE CHANGE_TRACKING)
- [易飞]主营业务分析图
- Linux内核信息相关知识
- 在word2010中启用文本朗读功能
- 百度移动API获取定位信息
- 2012-04-19
- /bin/rm: Argument list too long
- Ubuntu下安装和使用wireshark
- 国内软件测试中文书籍大全