问题描述:
EXEC sp_dboption 'OldDbName', 'Single User', 'TRUE'
EXEC sp_renamedb 'OldDbName', 'NewDbName'
EXEC sp_dboption 'NewDbName', 'Single User', 'FALSE'
这么写对不对啊?那个'Single User'要不要改的
解析:
EXEC sp_dboption 'OldDbName', 'Single User', 'TRUE'
EXEC sp_dboption 'NewDbName', 'Single User', 'FALSE'
这两条语句的意思是将数据库转换为单用户模式和非单用户模式,这样可以避免在重命名数据库的时候有其它用户对数据库进行 *** 作,造成死锁。
所以楼主问问的要不要改的回答应该是否定的,不能改,这是设置数据库选项的关键字。
其实在修改数据库名称之前,如果有用户连接到数据库的话会造成数据库重命名失败,可以先执行
select spid
from master.dbo.sysprocesses
where dbid=db_id('OldDbName')
结果集中显示的是当前连接到数据库OldDbName的连接
比如结果是
79
81
当然,实际值应该不是这两个
然后执行
kill 79
kill 81
关闭已建立的连接,之后再执行
EXEC sp_dboption 'OldDbName', 'Single User', 'TRUE'
EXEC sp_renamedb 'OldDbName', 'NewDbName'
EXEC sp_dboption 'NewDbName', 'Single User', 'FALSE'
上述语句最好都在master数据库中执行。
1.使用select @@ServerName可以看到当前数据库的服务器名2.SELECT * FROM Sys.SysServers表中可以看到当前的所有服务器名
3.使用 sp_dropserver '蒋委员长-PC\SQL2005' 将这个服务器名删除。
4.使用 sp_addserver 'PC\SQL2005','LOCAL'将本地服务器重新添加到服务器表中,并且命名为PC\SQL2005.
5.查询Sys.SysServers表,果然已经修改了。
6.重启数据库服务,修改完成,可以正常使用复制功能了
我相信大家在使用SQL Server 2005时一定碰到过修改完数据库文件名后, 物理文件名没有修改成功,还是原来的文件名,无论是给别人数据库还是自己看着感觉一定都很不爽,下面我就此问题的处理方法给大家列出一个解决办法,希望能对您能有所帮助. *** 作步骤: 1.将现有的数据库名称修改成您所要的.2.备份您的数据库到一个固定的位置.3.右击您要 *** 作的数据库,选择Tasks->Restore->Database,打开"Restore Database"窗口4.选择左边的"Options",打开数据库选项.5.在"Restore修改数据库的文件名和逻辑名1、修改数据库的逻辑名,可以在sql server的客户端 *** 作:右击数据库,选择重命名,就可以修改逻辑名或者通过下面的SQL语句来修改alter database Web2ASPNET2DBmodify name=ERayMailTest2、修改数据库的文件名的步骤1)分离数据库2)将分离的数据库的文件名,改成新的文件名,如原来的文件名是:test1.mdf,test1_log.ldf就改成新的文件名test2.mdf和test2_log.ldf3)附加到数据库中,在附加的过程中,注意修改下数据库详细信息的当前的路径,也要检查下MDF的路径是否正确,在上面都正确的前提下,一般是能附加成功的用过MS SQL的用户可能都知道,当把原来的数据库为A.BAK还原为B数据库时,名称虽然是变了,可逻辑文件名依然是A,多少让我看到不爽,网上大佬们也说了很多用语句的,可我试了不行,只是:exec sp_renamedb '旧库名','新库名'数据库名称可以改,物理文件名(逻辑名)不可以改。可我用了最各简单的方法:属性——文件——逻辑名一切OKSQL Server更改数据库名称 、更改逻辑文件名 Posted on 2008-05-10 13:40 Smthhy 阅读(2074) 评论(0)编辑收藏 所属分类: Sql今天在备份一数据库还原给另一数据库时,发现还原不了,看了下原数据库的逻辑文件名和物理文件名不一致,现以下方法可更改文件名的一致。在SQL Server 的企业管理器中,似乎不能直接更改数据库名称,如果要更改,最方便的是在查询分析器中运行:alter database 原数据库名称modify name=新数据库名称SQL Server 中,数据库还原时可以更改物理文件名,也可以分离数据库,直接更改 mdf 的文件名再附加,但更改逻辑文件名似乎不那么直观。在查询分析器里运行:alter database 数据库名称modify file(name=原逻辑文件名, newname=新逻辑文件名)这样就可以更改逻辑文件名了,由于 SQL Server 有数据文件和日志文件,所以数据文件和日志文件的逻辑文件名都要更改的话,就得写两个类似于上述的语句。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)