Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过AttachDBFilename备份还原sql数据库_C#_Sql Server_Backup - Fatal编程技术网

C# 通过AttachDBFilename备份还原sql数据库

C# 通过AttachDBFilename备份还原sql数据库,c#,sql-server,backup,C#,Sql Server,Backup,我无法创建保存在C:\database\mydb.mdf等位置的数据库备份 错误:无法创建备份 也许我传递了错误的变量 请任何人都可以验证它,并张贴给我正确的解决方案 提前通知我 PS:数据库没有密码保护,可以使用混合身份验证首先-我猜您的一些参数是错误的: ServerConnection connection = new ServerConnection(serverName); 在这里,您只需要传递服务器的名称,所以在您的情况下,不要发送整个连接字符串,只需传递\SQLExpress 至

我无法创建保存在
C:\database\mydb.mdf等位置的数据库备份

错误:无法创建备份

也许我传递了错误的变量

请任何人都可以验证它,并张贴给我正确的解决方案

提前通知我


PS:数据库没有密码保护,可以使用混合身份验证

首先-我猜您的一些参数是错误的:

ServerConnection connection = new ServerConnection(serverName);
在这里,您只需要传递服务器的名称,所以在您的情况下,不要发送整个连接字符串,只需传递
\SQLExpress

至于您的数据库名称-我不知道您是否可以使用SMO在SQL Server中备份“附加”MDF文件-通常,当数据库位于服务器上时,这将是数据库名称(仅数据库名称-无文件名,无扩展名)

string dataBaseName = @"C:\database\mydb.mdf";    
因此,我的建议如下:

  • 将此MDF文件附加到SQL Server实例(您已经安装了该实例)
  • 给它一个有意义的名称,例如
    mydb
  • 然后在此处仅使用数据库名称作为您的值:

    string dataBaseName = "mydb";      
    

有了这些要点,您的代码在我的情况下运行得很好,至少…

hey marc_s它仍然会出现这样的错误:无法连接到服务器数据源=。\SQLEXPRESS;综合安全=真实;User Instance=True.error在“Database db=sqlServer.Databases[databaseName];”行抛出是的-显然-这是一个非常糟糕的连接字符串-对于基于服务器的数据库,它既不是有效的连接字符串,对于“附加MDF”数据库场景,它也不完整。。。。看我的response@j4m4l:使用(从MS免费下载)将MDF连接到server@j4m4l:查看SMO方法
AttachDatabase
()
string dataBaseName = "mydb";