日期:2014-05-18  浏览次数:20472 次

怎么做可以将SQL Sever 创建的物理文件名改成另外一个名称,作为一个新数据库,再附加,不会出现错误
怎么做可以将SQL       Sever       创建的物理文件名改成另外一个名称,作为一个新数据库,再附加,不会出现错误      
    用代码实现最好      
    分不够可以再加

------解决方案--------------------
怎么做可以将SQL Sever 创建的物理文件名改成另外一个名称,作为一个新数据库,再附加,不会出现错误
-------------------------------
这个肯定是会出错的,所以LZ能不能换个思路,先创建一个新数据库,文件名肯定是随便你取了

然后将原来的数据库备份一个bak,用这个bak文件还原你的新数据库,这样就OK了,跟LZ的要求有点不一样,但是这样能解决问题

代码:
--创建TEST2数据库
CREATE DATEBASE TEST2
GO

--备份TEST1数据库
BACKUP DATABASE [TEST1] TO DISK = N 'C:\TEST1.bak ' WITH NOFORMAT,
NOINIT, NAME = N 'TEST1-完整 数据库 备份 ', SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO

--还原,数据库文件的注意路径
RESTORE DATABASE [TEST2] FROM
DISK = N 'C:\TEST1.BAK ' WITH FILE = 1,
MOVE N 'TEST2_Data ' TO N 'C:\SQLDATE\TEST2.mdf ',
MOVE N 'TEST2_Log ' TO N 'C:\SQLLOG\TEST2_log.ldf ',
NOUNLOAD, REPLACE, STATS = 10
GO
------解决方案--------------------
方式有问题。

先备份,然后再还原为指定的文件名,这样物理文件名符合你的要求了。
------解决方案--------------------
就是一楼说的方法,先备份,再还原