加载中…
个人资料
阳明腾越
阳明腾越
  • 博客等级:
  • 博客积分:0
  • 博客访问:7,249
  • 关注人气:154
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

sqlserver2008数据库改名(数据库名,逻辑名,物理文件名)

(2018-07-11 17:50:40)
分类: IT

 1、更改sqlserver数据库名称:

exec sp_renamedb 'Test','NewTest'

如果报以下错误:

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

 

test数据库的选项,状态下

限制访问 MULTI_USER,意为多用户模式,然后你将其更改为【SINGLE_USER】单用户模式

 

然后再执行sql语句

exec sp_renamedb 'Test','NewTest'

成功。

 然后再修改为multi_user。


2、更改数据库name

更改数据库文件名:

select * from sys.database_files

查询出来,看看数据库文件名和物理名称在什么地方。

然后修改数据库的name

ALTER DATABASE newtest MODIFY FILE(NAME='SqlServer_BC_20120727194252_Data',NEWNAME='newtest_data')

ALTER DATABASE newtest MODIFY FILE(NAME='SqlServer_BC_20120727194252_Log',NEWNAME='newtest_log')

 

更改完毕之后,数据库name已经更改过来了,但是physical_name还是test.mdf test.ldf,没有更改过来。

既逻辑名已经变更,但是物理文件名称还没有变过来。

 

3、更改数据库物理名称physical_name

select * from sys.database_files

开始: 

use master

go

--1.分离

exec sp_detach_db NewTest

go

 

--2.改名(这一步可以换成手动改名字)

exec sp_configure 'show advanced options',1 --显示高级选项

reconfigure with override--重新配置

    exec sp_configure 'xp_cmdshell',1 --1代表允许,0代表阻止

    reconfigure with override

        exec xp_cmdshell 'rename "E:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\test.mdf" "NewTest.mdf"'

        go

        exec xp_cmdshell 'rename "E:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\test.ldf" "NewTest_log.ldf"'

        go

    exec sp_configure 'xp_cmdshell',0

    reconfigure with override

exec sp_configure 'show advanced options',0

reconfigure with override

 

执行第二步的时候一直报错,无法执行成功。

不再执行第二步,手工直接修改文件名,将test.mdf 修改为newtest.mdf,将test.ldf修改为newtest.ldf

然后执行第三步,下面的语句。

--3.附加

exec sp_attach_db NewTest,N'E:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\newtest.Mdf',N'E:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\newtest.ldf'


 

ok



既:

 

select * from sys.database_files

 

use master

go

--1.分离

exec sp_detach_db NewTest

go

 2、手工修改数据库物理文件名称。将test.mdf修改为newtest.MDF,test.ldf修改为NEWtest.ldf

 --3.附加

exec sp_attach_db NewTest,N'E:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\newtest.Mdf',N'E:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\newtest.ldf'

 

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有