SAME.

解决方案 »

  1.   

    CreateProcess的使用方法如下:
    CString strRun = "安装SQL SERVER目录/80/TOOL/BINN/SCM.exe";
    CString strStartBackup = " -Action 1 -Server yourservername -Pwd yourpassword",
    CString strStopBackup = " -Action 6 -Server yourservername -Pwd yourpassword"等,其他参数你执行一下这个应用程序就知道了。
    然后

    STARTUPINFO startInfo;
    PROCESS_INFORMATION processInfo;
    ::CreateProcess(strRun, strStopBackup, NULL, NULL, FALSE, NORMAL_PRIORITY_CLASS, NULL, NULL, &startInfo, &processInfo);//参数参照MSDN
    ::WaitForSigleObject(processInfo.hProcess)
    .
    .
    拷贝文件
    .
    .
    //然后
    CreateProcess(strRun, strStartBackup, NULL, NULL, ...)//其他参数参照MSDN
      

  2.   

    使用SQL Server数据库提供的数据库备份语句
      

  3.   

    SQL Server本身就有数据备份功能
      

  4.   

    在sql环境下右击你的数据库,在属性窗口中单击“数据文件”上面有你的数据库的文件的路径,把它复制出来就可以了,不过在这之前要关闭关于SQL的所有进程序(用win2k的任务管理器强行结束)在恢复时在sql中打入以下命令即可exec sp_attach_db N'SentyNewDB' , N'C:/SentyNewDB_Data.MDF'
      

  5.   

    另一种方法是直接用sql指令,在vc下可以通过用ShellExecute函数调用osql.exe来完成
    CString strCommandLine;
    strCommandLine="/U "+用户名+" /P "+密码+" /S "+主机名(或IP)+" /Q \"exec sp_attach_db N\'SentyNewDB\' , N'"+"C:/Data.MDF\'\"";其中,SentyNewDB是你的数据库名称,C:/Data.MDF是你的数据库文件::ShellExecute(0,"open","osql.exe",strCommandLine,NULL,SW_SHOW);
      

  6.   

    也可以用以上的strCommandLine /Q后直接用sql的备份数据库的语名