返回首页

主席先生,
我有语法本地备份SQL数据库,然后复制到网络共享。

我的本地路径为D:\ db和共享路径:\数据和BACKUPFILE的dbP.bak
数据库名称:hospitaA

请更正语法使用它。

语法:

SET LocalFolder=C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQLBackup

SqlCmd -E -Q Backup Database MyDB To Disk=?LocalFolder%\MyDB.bak?
XCopy ?LocalFolder%\MyDB.bak?\\192.168.16.55\BackupDatabases?/Z /V

DEL ?LocalFolder%\MyDB.bak?/pre>



	



	





回答

评论会员:HeinoZunzer 时间:2012/02/06
Correct Syntax:
 
SET LocalFolder=C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQLBackup

SqlCmd -E -Q ?b>backup database MyDB to disk='$(LocalFolder)\MyDB.bak'?
XCopy ?LocalFolder%\MyDB.bak?\\192.168.16.55\BackupDatabases?/Z /V

DEL ?LocalFolder%\MyDB.bak?/pre>
评论会员:HeinoZunzer 时间:2012/02/06
oh, I see...
 
            string sqlConnectionString = "Data Source=(local);Initial Catalog=MyDB;Integrated Security=True";

            string sqlCommand = "backup database MyDB to disk='C:\\Backup\\MyDB.bak'";

 

            SqlConnection con = new SqlConnection(sqlConnectionString);

            SqlCommand com = new SqlCommand(sqlCommand);

            com.ExecuteNonQuery();

            con.Close();

 

            // copy file to newtwork location

            ...

请注意,路径C:\备份\ MyDB.bak将是您的SQL Server机器上!未在客户端或其他地方。 SQL Server只能参照本地驱动器和UNC路径。 (但不使用备份的网络共享,只是不要。)
本地备份您的SQL Server,然后移动文件到网络位置。

希望帮助|阿米尔Mahfoozi:正如其他人说,他们是一堆命令行命令,所以不要尝试在查询分析器中运行
而不是做一个批处理文件,并摆在那里,他们运行的批处理文件。

如果你想从一个ASP.NET Web窗体客户端运行的批处理文件,然后再考虑在您的WebForm中使用这样的代码:

{C}
更多信息请阅读这些资源:



{A}

后,您的评论:

请试试这个:
       

        System.Diagnostics.Process process = new System.Diagnostics.Process();

        process.StartInfo.FileName = @"cmd.exe";

        process.StartInfo.Arguments = @"/k f:\cpy.bat";

        process.StartInfo.WorkingDirectory = @"f:\";

        process.Start();

请适当更改批处理文件的名称和工作目录。记得添加退出"命令,在批处理文件结束。

如果它帮你请它标志着作为回答的问题,或投票。

希望它帮助