使用新名称将数据库还原到新服务器

时间:2010-11-03 20:35:53

标签: c# sql-server tsql c#-3.0 c#-2.0

我正在尝试使用C#和SQL Server数据库使用新名称创建数据库的备份和还原到新服务器。我可以创建数据库的备份,但我无法使用新名称将其还原到新服务器。

我的查询看起来像这样:它不起作用并且出错:

RESTORE DATABASE test1 FROM DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\setupdb\BackupForsetupdb.bak' 
WITH MOVE 'setupdb_Data' TO '\\newserver\e$\MSSQL\DATA\test1_Data.MDF', 
MOVE 'setupdb_log' TO '\\newserver\e$\MSSQL\DATA\test1_Log.LDF';

我试图通过C#代码实现这一点。看起来数据库无法恢复到远程服务器。请详细说明一下。

谢谢!

2 个答案:

答案 0 :(得分:3)

您通常无法在网络共享上安装SQL Server数据库:仅限本地/ SAN类型驱动器

备份文件可以在共享上,但MDF和LDF必须是本地的

上面有一个MS KB article:可以完成,但风险自负

答案 1 :(得分:1)

move命令的路径必须与服务器相关。

e:\MSSQL\Data\test1_data.mdf

您从路径恢复也必须与服务器相关。如果c:\来自本地计算机,则需要将其指向UNC路径(\\yourpc\c$\...)或将其移至服务器。但请注意,如果使用UNC路径选项,则服务器进程正在运行的用户必须具有访问共享的权限。因此,最好将其复制到远程计算机上的驱动器上。