当前位置:  数据库>sqlserver

mssql修改数据库名称方法举例

    来源: 互联网  发布时间:2014-08-29

    本文导语:  在MSSQL中,修改数据库的名称,可以通过以下方法实现。 方法一:使用SP_RENAMEDB系统存储过程实现。 语法: sp_renamedb [ @dbname = ] 'old_name' , [ @newname = ] 'new_name' 例子: 将数据库Test_1的名称修改为Test   代码示例: use master go exec s...

在MSSQL中,修改数据库的名称,可以通过以下方法实现。

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

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

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

代码示例:
use master
go
exec sp_renamedb @dbname='Test_1', @newname='Test';
go
 

有时执行该脚本,会报如下错误:
消息 5030,级别 16,状态 2,第 1 行
无法用排他锁锁定该数据库,以执行该操作。

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

如下图:
 

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

代码示例:
SELECT SPID FROM master.dbo.sysprocesses W
    WHERE dbid=DB_ID('Test1');
 

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

KILL SPID

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

代码示例:
use master   
exec sp_dboption  @dbname='OldDbName', @optname= 'Single User',@optvalue= 'TRUE'
exec sp_renamedb  @dbname='OldDbName', @newname= 'NewDbName'
exec sp_dboption  @dbname='NewDbName', @optname= 'Single User', @optvalue='FALSE'
GO
 

检查修改成功。
 

代码示例:
SELECT name, database_id
FROM sys.databases
WHERE name = N'DbName';
 

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

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

代码示例:
USE master;
GO
ALTER DATABASE Test1 MODIFY NAME = Test;
GO

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

如下图:


    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • mssql对已创建表的某个字段修改为默认值
  • mssql2008 自定义表类型实现(批量插入或者修改)
  • MSSQL监控数据库的DDL操作(创建,修改,删除存储过程,创建,修改,删除表等)
  • 不同版本MSSQL清除日志方法介绍
  • 如何在LINUX下安装MSSQL 是否可以在LINUX下安装MSSQL
  • Myeclipse中自带Tomcat的JDBC连接池配置(mysql和mssql)
  • mysql与mssql的md5加密语句
  • flyingcrean,来讲一下在LINUX中访问MSSQL。
  • MSSQL附加数据库拒绝访问提示5120错误的处理方法
  • 基于mssql导mysql遇到的问题
  • 请问哪里有for mssql的jdbc驱动程序下载?
  • Tomcat已设置成功,但不会连接数据库mssql. 求教。
  • mssql @@ERROR 使用
  • MSSQL 将截断字符串或二进制数据问题的解决方法
  • freetds连接MSSQL2000,应用程序读出来的数据中文部分全是问号!!
  • 可以用JAVA直接访问MSSQL2000的Analysis Services吗?
  • mssql中得到当天数据的语句
  • mssql查找备注(text,ntext)类型字段为空的方法
  • mssql 指定字段编号sql语句
  • MSSQL output使用
  • 找一找免费的MSSQL的JDBC驱动。一定给分!
  • 我下载了bea的mssql的jdbc驱动程序,请问如何安装?
  • 请问,如果连接一个Mssql的数据库。并操作里面的数据。谢谢了:)
  • 为jdbc.mssql抓狂!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3