备份逻辑代码如下,能正常执行,不会出系统错误,但是却没有在C盘上生成备份文件,
请问这是为何?很急,请高手赐教.SQLDMO.Backup oBackup = new SQLDMO.BackupClass();
SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass();
try {
    oSQLServer.LoginSecure = false;
    oSQLServer.Connect(this.dbConnectInfo.Server, this.dbConnectInfo.UserId, this.dbConnectInfo.Password);
    oBackup.Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;
    oBackup.Database = "Northwind";
    oBackup.Files = @"c:\Northwind.bak";
    oBackup.BackupSetName = "Northwind";
    oBackup.BackupSetDescription = "backup";
    oBackup.Initialize = true;
    oBackup.SQLBackup(oSQLServer);
} catch (Exception ex) {
    throw ex;
} finally {
    oSQLServer.DisConnect();
}我用sql server management查看了一下日志文件,有如下信息.
Database backed up. Database: Northwind, creation date(time): 2008/03/18(10:13:49), pages dumped: 2579, first LSN: 216:63:37, last LSN: 216:79:1, number of dump devices: 1, device information: (FILE=1, TYPE=DISK: {'c:\Northwind.bak'}). This is an informational message only. No user action is required.

解决方案 »

  1.   

    ublic void DbBackup(string databasename, string filedir, string servername)
                {
                    SQLDMO.Backup beifen = new SQLDMO.BackupClass();
                    SQLDMO.SQLServer servers = new SQLDMO.SQLServerClass();
                    try
                    {
                        servers.LoginSecure = false;
                        servers.Connect(servername, "sa", "");
                        beifen.Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;
                        //beifen.Devices = beifen.Files; 
                        beifen.Database = databasename;
                        beifen.Files = filedir;
                        beifen.BackupSetName = filedir;
                        beifen.BackupSetDescription = "数据库备份";
                        beifen.Initialize = true;
                        beifen.SQLBackup(servers);
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
                    finally
                    {
                        servers.DisConnect();
                    }
                }
      

  2.   

    楼上的,你的代码和我的没区别呀,无非是beifen.BackupSetName和beifen.Files设置成一样的了.
    我试过了,还是不能生成.
      

  3.   

    连接也没有错,备份文件是生成了,在sqlserver所在的服务器的c盘上生成的,哈哈.
    不过,怎么能让他生成到本地的c盘下呢.
    因为c#程序运行的机器和sqlserver不在一台机器上,用户在c#程序画面上选择保存路径,肯定也都是本地路径的.
      

  4.   

    可是备份完再拷,需要sqlserver那台机器的访问权限啊.
    真的不能直接备份到本地吗?
      

  5.   

    新手冒昧说一句
    No user action is required.
    是不是需要你执行备份操作的角色的权限那?
    猜测而已