0

我想使用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);

和两个事件的以下。

完成状态百分比

    private static void CompletionStatusInPercent(object sender, PercentCompleteEventArgs args)
    {
        Console.Clear();
        Console.WriteLine("Percent completed: {0}%.", args.Percent);
    }

备份完成

    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 的名称。

我需要如何解决此问题的解决方案。

4

2 回答 2

2

你混淆了构造函数。new Server 的参数可以是服务器的名称(字符串),或者是Microsoft.SqlServer.Management.Common.ServerConnection smo 名称空间中的类的实例。它的构造函数将连接字符串作为参数。

于 2013-03-04T09:46:07.190 回答
0

在这里,托尼霍普金森我做了更多的研究并提出了一个解决方案......

我只是用以下代码简单地删除了我的有问题的代码......

        SqlConnection con = new SqlConnection(@"Integrated Security=SSPI; Data Source=.");
        ServerConnection sc = new ServerConnection(con);
        Server MyServer = new Server(sc);

所以,我希望这对许多其他人有用......

于 2013-03-04T09:59:36.020 回答