如何从 ASP.NET Core 在线应用程序中备份 SQL Server 数据库?

问题描述 投票:0回答:0

我需要从 ASP.NET Core Web 应用程序备份 SQL Server 数据库,并将备份文件存储到本地计算机驱动器中的路径

C:\DatabaseBackupFile\DatabaseName.bak
.

这是我的代码:

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" });
        }
}

当我运行上面的代码进行数据库备份时,我得到这个错误:

System.Data.SqlClient.SqlException: 无法打开备份设备 'C:\DatabaseBackupFile\databaseName.bak'。操作系统错误3(系统找不到指定的路径。)。
备份数据库异常终止。

请指导我如何更改以上代码以从在线服务器获取数据库备份并将其保存到我的本地计算机驱动器以下路径

C:\DatabaseBackupFile\databaseName.bak

谢谢

sql-server asp.net-core database-backups
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.