45IT.COM- 电脑学习从此开始!
DIY硬件教程攒机经验装机配置
设计Photoshop网页设计特效
系统注册表DOS系统命令其它
存储主板显卡外设键鼠内存
维修显卡CPU内存打印机
WinXPVistaWin7unix/linux
CPU光驱电源/散热显示器其它
修技主板硬盘键鼠显示器光驱
办公ExcelWordPowerPointWPS
编程数据库CSS脚本PHP
网络局域网QQ服务器
软件网络系统图像安全
页面导航: 首页 > 设计学院 > 网络编程 > 数据库 >

怎么修改MS SQL数据库名称?

电脑软硬件应用网 45IT.COM 时间:2013-04-27 17:04 作者:佚名

在MSSQL中,如果你想修改某一个数据库的名称,你可以通过下面几种方法实现。

方法一:使用SP_RENAMEDB系统存储过程实现。

语法:sp_renamedb[@dbname=]'old_name',[@newname=]'new_name'

例子:我需要将数据库Test_1的名称修改为Test


  1. use master   
  2. go   
  3. exec sp_renamedb @dbname='Test_1', @newname='Test';   
  4. go 

有时候执行该脚本,会报如下错误:

消息5030,级别16,状态2,第1行

无法用排他锁锁定该数据库,以执行该操作。

出现这种情况,主要是还有其它程序或用户连接数据库,你必须确保没有任何用户正在使用数据库.可以通过将数据库设置为单用户模式。在数据库属性——》“连接”选择里面找到限制访问“选项,选择SIGLE_USER选项。然后执行上面语句,即可修改数据库名称。

怎么修改MS SQL数据库名称?

当然也可以用脚本解决这个问题,查询看看当前有哪些会话连接到这个数据库,如果没有记录,则可直接执行上面脚本。

 


  1. SELECT SPID FROM master.dbo.sysprocesses W   
  2.     WHERE dbid=DB_ID('Test1');  

 否则执行KILL命令杀掉这些会话进程。

KILLSPID

下面这个脚本可以比较好的处理上面问题,不需要你做过多额外操作,直接用脚本完成任务。


  1. use master       
  2. exec sp_dboption  @dbname='OldDbName', @optname'Single User',@optvalue'TRUE'   
  3. exec sp_renamedb  @dbname='OldDbName', @newname'NewDbName'   
  4. exec sp_dboption  @dbname='NewDbName', @optname'Single User', @optvalue='FALSE'   
  5. GO 

检查修改成功。

 


  1. SELECT name, database_id   
  2. FROM sys.databases   
  3. WHERE name = N'DbName'

注意:SQLServer2008后续版本的MicrosoftSQLServer将删除该功能。请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。

方法二:使用ALTERDATABASE语句修改数据库名称。


  1. USE master;   
  2.     
  3. GO   
  4.     
  5. ALTER DATABASE Test1 MODIFY NAME = Test;   
  6.     
  7. GO 

方法三:使用MicrosoftSQLServerManagmentStudio管理工具,选中要修改名称的数据Test1,单击右键,选择”重命名”;注意如果有其他用户会话连接该数据库则会报错,必须先杀掉那些会话进程或使数据库处于单用户模式下,再执行上面操作,否则会报错。

怎么修改MS SQL数据库名称?
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
无法在这个位置找到: baidushare.htm
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
推荐知识