这是我在同一论坛上的上一个问题的后续问题。
我想备份我的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正在异常终止。“
任何想法,可能出错?
非常感谢您的时间和帮助。
答案 0 :(得分:5)
“操作系统错误3”表示找不到目录。 SQL不会为您创建备份目录;您必须在运行备份命令之前手动创建它。
答案 1 :(得分:0)
确保您的SqlServer和您要创建备份的位置是同一系统。如果您远程使用sqlServer(不在系统中),则无法在计算机中创建备份,或者也无法从计算机中恢复数据库{.1}}。