我想使用 C#代码创建特定数据库的备份,为此我使用以下代码。
代码
Console.WriteLine("Backup manager");
Backup bkpDBFull = new Backup();
bkpDBFull.Action = BackupActionType.Database;
bkpDBFull.Database = "SampleDB";
bkpDBFull.Devices.AddDevice(@"D:\Temp\Back\fulBak.bak", DeviceType.File);
bkpDBFull.BackupSetName = "Database backup";
bkpDBFull.BackupSetDescription = "Code backup";
bkpDBFull.Initialize = false;
bkpDBFull.PercentComplete += CompletionStatusInPercent;
bkpDBFull.Complete += Backup_Completed;
Server MyServer = new Server("Data Source=.;Initial Catalog=SampleDB;User ID=user;Password=pass");
bkpDBFull.SqlBackup(MyServer);
这两个事件正在发生。
CompletionStatusInPercent
private static void CompletionStatusInPercent(object sender, PercentCompleteEventArgs args)
{
Console.Clear();
Console.WriteLine("Percent completed: {0}%.", args.Percent);
}
Backup_Completed
private static void Backup_Completed(object sender, ServerMessageEventArgs args)
{
Console.WriteLine("Hurray...Backup completed.");
Console.WriteLine(args.Error.Message);
}
在整个代码中,它在下面的代码中只有一个问题
问题代码
Server MyServer = new Server("Data Source=.;Initial Catalog=SampleDB;User ID=user;Password=pass");
我想我错误地把sqlserver的名字放了。
我需要一个解决方法,我该如何解决这个问题。
答案 0 :(得分:1)
你混淆了构造函数。新服务器的参数可以是服务器的名称(字符串),也可以是Microsoft.SqlServer.Management.Common.ServerConnection
的实例
smo名称空间中的类。它的构造函数将一个连接字符串作为参数。
答案 1 :(得分:0)
在这里,Tony Hopkinson我做了更多研究并提出了解决方案......
我只需使用以下代码简单删除有问题的代码 ...
SqlConnection con = new SqlConnection(@"Integrated Security=SSPI; Data Source=.");
ServerConnection sc = new ServerConnection(con);
Server MyServer = new Server(sc);
所以,我希望这对许多其他人有用......