Reputation: 49
I need to take SQL Server database backup from an ASP.NET Core web application and store the backup file to my local computer drive in path C:\DatabaseBackupFile\DatabaseName.bak
.
Here is my code:
public IActionResult TakeDatabaseBackup()
{
try
{
// var connectionString = "Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=DatabaseName;Data Source=SQLEXPRESS";
var connectionString = "Data Source=SQLOnlineWebServer.com;Initial Catalog=DatabaseName;User Id=DatabaseUserName;Password=123456789";
var backupFolder = System.IO.Directory.CreateDirectory("C:/DatabaseBackupFile/").ToString();
var sqlConStrBuilder = new SqlConnectionStringBuilder(connectionString);
var backupFileName = String.Format("{0}{1}-{2}.bak",
backupFolder, sqlConStrBuilder.InitialCatalog,
GetLocalDateTime().ToString("MM-dd-yyyy-hh-mm-tt"));
using (var connection = new SqlConnection(sqlConStrBuilder.ConnectionString))
{
var query = String.Format("BACKUP DATABASE {0} TO DISK='{1}'",
sqlConStrBuilder.InitialCatalog, backupFileName);
using (var command = new SqlCommand(query, connection))
{
connection.Open();
command.ExecuteNonQuery();
}
}
return Json(new { type = "success" });
}
catch
{
return Json(new { type = "error" });
}
}
When I run the above code to take database backup, I get this error:
System.Data.SqlClient.SqlException: Cannot open backup device 'C:\DatabaseBackupFile\databaseName.bak'. Operating system error 3(The system cannot find the path specified.).
BACKUP DATABASE is terminating abnormally.
Please guide me how to change the above code to take database backup from online server and save it to my local computer drive the following path C:\DatabaseBackupFile\databaseName.bak
?
Thank you
Upvotes: 0
Views: 999