C# 在本地计算机上复制/粘贴.mdf和.ldf恢复文件

C# 在本地计算机上复制/粘贴.mdf和.ldf恢复文件,c#,sql,sql-server,visual-studio,C#,Sql,Sql Server,Visual Studio,我的计算机上正在运行SQL Server Express,我想创建一个数据库备份,并在本地计算机上还原此备份,以便在本地使用.mdf和.ldf文件 我有一个小型C#程序来管理这个数据库,并允许我执行备份创建和恢复请求。但是,当我想在本地复制/粘贴.mdf和.ldf文件时,我没有访问权限。只有管理员帐户和SQL服务具有访问权限 有没有一种方法可以在不与服务器共享文件夹的情况下在本地执行恢复 备份方法: string cmd = "BACKUP DATABASE [" + "Database" +

我的计算机上正在运行SQL Server Express,我想创建一个数据库备份,并在本地计算机上还原此备份,以便在本地使用
.mdf
.ldf
文件

我有一个小型C#程序来管理这个数据库,并允许我执行备份创建和恢复请求。但是,当我想在本地复制/粘贴
.mdf
.ldf
文件时,我没有访问权限。只有管理员帐户和SQL服务具有访问权限

有没有一种方法可以在不与服务器共享文件夹的情况下在本地执行恢复

备份方法:

string cmd = "BACKUP DATABASE [" + "Database" + "] TO DISK='" + "\\\\srv-vm\\PJDB\\Backup\\Database.bak" +  "'";

using (SqlCommand command = new SqlCommand(cmd, con))
{
  if (con.State != ConnectionState.Open)
  {
      con.Open();
  }

  command.ExecuteNonQuery();
}
还原方法:

SqlConnection objconnection = new SqlConnection(connectionstring);
ServerConnection con = new 
ServerConnection(objconnection.DataSource.ToString());
Server server = new Server(con);

Restore _dataBase = new Restore();

_dataBase.Database = "db";
_dataBase.Action = RestoreActionType.Database;
_dataBase.Devices.AddDevice("\\\\srv-vm\\PJDB\\Backup\\Database.bak", DeviceType.File);
// define "file relocation" - for all "logical" files in a SQL Server database,
// define a new physical location where the file will end up at          
RelocateFile relocateDataFile = new RelocateFile("Database", "\\\\srv-vm\\PJDB\\Backup" + "\\Database.mdf");
RelocateFile relocateLogFile = new RelocateFile("Database_log", "\\\\srv-vm\\PJDB\\Backup" + "\\Database_log.ldf");

_dataBase.RelocateFiles.Add(relocateDataFile);
_dataBase.RelocateFiles.Add(relocateLogFile);
_dataBase.ReplaceDatabase = true;
_dataBase.SqlRestore(server);
_dataBase.NoRecovery = false;

如何从数据库中获取备份?您是复制ldf和mdf文件还是执行备份命令?
mdf
ldf
不是备份文件,它们是实际的数据库文件。创建数据库/日志备份时,您需要
bak
trn
文件分离文件并将其移动到其他服务器不是在备份,也不是在恢复…而且您也无法复制正在使用的数据库。您需要执行备份并使用备份文件。这些文件不是
mdf
ldf
文件。这些是正在运行的数据库正在使用的数据库和事务日志文件。您需要将备份文件放在SQL Server服务帐户有权访问的地方,@Nicolas。不要复制
mdf
ldf
文件。