2.停止SQL SERVER服务,拷贝DATA目录下的你现有数据库的MDF,LDF文件.然后更改为另外一个名字(最好和你的新数据库同名),然后用企业管理器附加,附加的时候用另外一个名字.或者用以下的代码在查询分析器中附加.示例
下面的示例将 pubs 中的两个文件附加到当前服务器。EXEC sp_attach_db @dbname = N'pubs',
@filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf',
@filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf'
下面的示例将 pubs 中的两个文件附加到当前服务器。EXEC sp_attach_db @dbname = N'pubs',
@filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf',
@filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf'
或者是分离改数据库,然后更改MDF,LDF的名字,然后附加.示例
下面的示例将 pubs 中的两个文件附加到当前服务器。EXEC sp_attach_db @dbname = N'pubs',
@filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf',
@filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf'
方法1:在企业管理器中进行
(1)在企业管理器中选定要搬家的数据库名,在其上单击鼠标右键,出现如图1所示对话框。
(2)选中“所有任务”,在其子菜单中单击“分离数据库”。
(3)将该数据库的数据文件和日志文件从旧的位置(如D:\MSSQL\Data)拷贝到新的位置(如E:\SQLDataNew)。
(4)再在企业管理器中选中“数据库”文件夹,在其上单击鼠标右键,在出现的对话框中选中“所有任务”,在其子菜单中单击“附加数据库”。
(5)在出现的“附加数据库”对话框中,选择数据库的两个文件的新位置。
方法2:用SQL系统存储过程sp_detach_db/sp_attach_db实现
(1)使用下面语句分离数据库:
USE master
GO
EXEC sp_detach_db 'mydb'
GO
(2)将该数据库的数据文件和日志文件从旧的位置拷贝到新的位置。
(3)使用下面语句重新附加数据库:
USE master
GO
EXEC sp_attach_db
'mydb', 'E:\SQLDataNew\mydbdata.mdf', 'E:\SQLDataNew\mydblog.ldf''
GO
1,楼上的是sqlserver2000,还是2005啊,附件之前,修改数据文件名字是不行的,我试过了!
2,用备份,然后新建一个不同名字的新数据库,然后用这个备份还原新数据库,就搞定了,但是我失败了3次,只成功了一次!概率很低啊!
新建库时不一定要同名,然后点还原,还原时如果检测到当前库的数据或日志文件路径与bak里的不一致,自己改一下就是了,将mdf和ldft路径指定为当前库的文件路径。 成功率应该是 100%
--按照上面的方法先附加,附加後修改名字
EXEC sp_renamedb 'db_test', 'db_testnew'