首页 > 解决方案 > 单独服务器上的数据库 - 备份 .bak

问题描述

我在本地网络上共享的服务器上有一个数据库。我想编写一个从该服务器备份数据库的应用程序,但不是在服务器上,而是在我启动该应用程序的计算机上。也就是说,为了更好地理解:

该数据库位于某些 Windows Server 服务器上。我有一台连接到同一网络并可以访问数据库的笔记本电脑。在这台笔记本电脑上,我启动应用程序,连接到数据库,.bak 文件保存到笔记本电脑,而不是服务器。目前我只写了这么多,不幸的是它对我不起作用:

 private static void CreateDatabaseBackup(string connectionString, string databaseName, string backupFilePath)
        {
            SqlConnection connection = new SqlConnection(connectionString);
            SqlCommand backupCommand = connection.CreateCommand();
            backupCommand.CommandText = $"BACKUP DATABASE {databaseName} TO DISK = '{backupFilePath}'";
            connection.Open();
            backupCommand.ExecuteNonQuery();
            connection.Close();
        }

这给了我一个例外:

System.Data.SqlClient.SqlException: „Cannot open backup device 'C:\Backup\backup.bak'. Operating system error 3(The system cannot find the path specified.).
BACKUP DATABASE is terminating abnormally.”

可能是因为它试图将文件保存到服务器的磁盘,并且它没有在变量中指定的路径backupFilePath

我希望将 .bak 保存到触发应用程序的设备的磁盘中。如何解决这个问题?

标签: c#sql-serverbackup

解决方案


推荐阅读