备份数据库时出现OS错误3

时间:2013-01-11 15:56:31

标签: c# sql-server

这是我在同一论坛上的上一个问题的后续问题。

我想备份我的SQL Server数据库。以下是C#中备份的代码。

userConn = new SqlConnection(userdatabase);
userConn.Open();

string UserString;

UserString = "BACKUP DATABASE @DBName TO  DISK = @FilePath";

String destPath = DestDirectory + "\\UserDataTable.bak";
SqlCommand cmd = new SqlCommand(UserString, userConn);

cmd.Parameters.AddWithValue("@dbName", userConn.Database);
cmd.Parameters.AddWithValue("@FilePath", destPath);

cmd.ExecuteNonQuery();
cmd.Dispose();

但是,它会抛出一个SQLException,

  

“无法打开备份设备   'd:\簿记\数据库\ 11_01_2013_21_15 \数据库\ UserDataTable.bak'。   操作系统错误3(无法检索此错误的文本。   原因:15105)。 BACKUP DATABASE正在异常终止。“

任何想法,可能出错?

非常感谢您的时间和帮助。

2 个答案:

答案 0 :(得分:5)

“操作系统错误3”表示找不到目录。 SQL不会为您创建备份目录;您必须在运行备份命令之前手动创建它。

答案 1 :(得分:0)

确保您的SqlServer和您要创建备份的位置是同一系统。如果您远程使用sqlServer(不在系统中),则无法在计算机中创建备份,或者也无法从计算机中恢复数据库{.1}}。