isgood 发表于 2015-7-3 06:36:28

Sql Server 中修改系统表的方法总结

  今天在维护以前代码的时候,需要将一个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中更改选项的方式来完成 。
  下面将Sql Server 2000、 Sql Server 2005/2008中修改系统表的方法列举出来以方便有需要有朋友 :
  一、Sql Server 2000中修改系统表的方法如下:
  




1 EXEC sp_configure 'allow updates', 1
2RECONFIGURE WITH OVERRIDE;
3-- do some modification to system tables
4EXEC sp_configure 'allow updates', 0
5RECONFIGURE 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会自动更改系统表,达利曲线救国的目的。


页: [1]
查看完整版本: Sql Server 中修改系统表的方法总结