更改移动mdf和ldf文件的SQL Server 2005数据库的名称时。
首先,我在程序的安装中运行脚本:
Alter Database [[DBNAME]] MODIFY NAME = [[RENAMEDBNAME]]
Alter Database [[RENAMEDBNAME]] MODIFY FILE ( NAME = [[DBNAME]], NEWNAME = [[RENAMEDBNAME]] )
Alter Database [[RENAMEDBNAME]] MODIFY FILE ( NAME = [[DBNAME]_log], NEWNAME = [[RENAMEDBNAME]_log] )
Alter Database [[RENAMEDBNAME]] MODIFY FILE ( NAME =[[RENAMEDBNAME]] , FILENAME ='[DBPATH][RENAMEDBNAME].mdf' )
Alter Database [[RENAMEDBNAME]] MODIFY FILE ( NAME =[[RENAMEDBNAME]_log] , FILENAME ='[DBPATH][RENAMEDBNAME]_log.ldf' )
ALTER DATABASE [[RENAMEDBNAME]] SET OFFLINE GO
然后我用代码移动文件。
然后在下一个脚本中使用
ALTER DATABASE [[RENAMEDBNAME]] SET ONLINE GO
数据库中缺少表格 - 有什么想法吗? 我应该使用备份和还原吗?
由于
答案 0 :(得分:1)
备份和恢复是迄今为止最简单,最可靠的方法。您可以使用以下脚本来完成您想要的任务:
/* Detach the database */
USE [master]
GO
ALTER DATABASE [junk] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
USE [master]
GO
EXEC master.dbo.sp_detach_db @dbname = N'junk'
GO
/* Move your files and reattach using this script */
USE [master]
GO
CREATE DATABASE [junk2] ON
( FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50\MSSQL\DATA\junk2.mdf' ),
( FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50\MSSQL\DATA\junk2_log.ldf' )
FOR ATTACH
GO
答案 1 :(得分:0)
请参阅Technet的以下文章。他们似乎有两件事你错了。
参考文章是here