今天在维护以前代码的时候,需要将一个Sql Server 2008中的数据表列顺序改变一下,本来以为像在Sql Server 2000中一样使用sp_configure存储过程就可解开Sql Server的限制完成修改操作了,但是没有想到在Sql Server 2008中根本不行,所以就上网Google了一下。终于明白从Sql Server 2000以后利用sp_configure来完成修改系统表的方法已经行不通了,在Sql Server 2005/2008中可以在单用户模式下启动DAC来完成,也可以直接在Sql Server Management Studio[SSMS]中更改选项的方式来完成 。
下面将Sql Server 2000、 Sql Server 2005/2008中修改系统表的方法列举出来以方便有需要有朋友 :
一、Sql Server 2000中修改系统表的方法如下:
1 EXEC sp_configure 'allow updates', 1
2 RECONFIGURE WITH OVERRIDE;
3 -- do some modification to system tables
4 EXEC sp_configure 'allow updates', 0
5 RECONFIGURE WITH OVERRIDE;
二、Sql Server 2005/2008中修改系统表的方法一:
- 1 用"C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe" -m启动sql server的单用户模式
- 2 在打开的SSMS的连接窗口中录入”admin:InstanceName”。
- 3 进行系统数据表修改操作。
三、Sql Server 2005/2008修改系统表的方法二:
- 1 以普通方式打开SSMS,进入“工具”->“选项”->“设计器”->“表设计器和数据库设计器”,去掉“阻止保存要求重新创建表的更改”选项的勾选 。
- 2 在表设计器中完成相应的操作(比如我这里的将列顺序改变),这样在保存时SSMS会自动更改系统表,达利曲线救国的目的。
作者:张荣华
出处:http://zhangronghua.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
出处:http://zhangronghua.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。