我试图制作一个小应用程序,它可以帮助我制作服务器备份。该应用程序将在我的家用电脑上运行,因此主要目标是能够连接到外部服务器,备份所选数据库,将备份内容转储为字符串或其他内容,以便我可以将其写入PC磁盘而不是服务器的磁盘。使用Smo.Backup将SQL Server数据库备份到字符串
我做了可以在服务器磁盘上写入的内容,但我希望能够在我的PC磁盘上写入备份的结果。
private bool BackupDatabase()
{
try
{
// Filename
string sFileName = string.Format("{0}\\{1}.bak", _sWhereToBackup, DatabaseName);
// Connection
string sConnectionString = String.Format(
"Data Source=tcp:{0};Initial Catalog={1};User ID={2};Pwd={3};",
DatabaseHost, DatabaseName, DatabaseUsername, DatabasePassword);
SqlConnection oSqlConnection = new SqlConnection(sConnectionString);
Server oServer = new Server(new ServerConnection(oSqlConnection));
// Backup
Backup backup = new Backup();
backup.Action = BackupActionType.Database;
backup.Database = DatabaseName;
backup.Incremental = false;
backup.Initialize = true;
backup.LogTruncation = BackupTruncateLogType.Truncate;
// Backup Device
BackupDeviceItem backupItemDevice = new BackupDeviceItem(sFileName, DeviceType.File);
backup.Devices.Add(backupItemDevice);
// Start Backup
backup.SqlBackup(oServer);
}
catch (Exception ex)
{
throw ex;
}
return false;
}
非常感谢!
如何从家中连接到该数据库。 VPN?如果是的话,简单的C#代码复制文件从服务器到您的电脑 –