我想将远程SQL Server数据库备份到本地计算机上。
到目前为止,我已尝试过:
using (SqlConnection defaultSqlConnection = new SqlConnection(Constants.Database_Constants.GetConnectionStringFromProfile(Constants.Profiles.Staging)))
{
string pathDatabase = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + "\\backup_production_database"+DateTime.UtcNow.ToString("d_MMM_yyyy_HH_mm_ss", CultureInfo.InvariantCulture)+".bak";
WriteLine("The backup will be stored in " + pathDatabase);
string backupDb = "BACKUP DATABASE DB_Staging TO DISK = '" + pathDatabase+ "' WITH INIT, COMPRESSION";
File.Create(pathDatabase);
using (SqlCommand backupCommand = new SqlCommand(backupDb, defaultSqlConnection))
{
defaultSqlConnection.Open();
backupCommand.ExecuteNonQuery();
}
}
但是我收到了这个错误:
无法打开备份设备' XXXX \ bin \ Debug \ backup_production_database22_Mar_2017_08_04_42.bak'。 操作系统错误3(系统找不到指定的路径。)。 BACKUP DATABASE异常终止。
我知道我可以使用SQL Server Management Studio生成脚本,但它对我没有帮助。我想自动在PowerShell脚本中备份我的数据库,而不必手动进入SQL Server Management Studio