我完全迷失在这里,我的时间不多了。让我解释一下我的情况:
我在C#express 2010和SQL Server Express 2008 R2中创建了一个软件。
现在,在我的软件的设置部分,用户应该能够手动备份/恢复数据库。
此外,他应该能够安排数据库的备份,这将在他将设置的时间运行。
我不知道如何让这两种方法都有效,我希望有人能指出我正确的方向。
请记住,当用户在他的计算机上安装软件时,他不会安装sql server(我这样说是因为我的印象是SMO需要在客户端机器上预先安装sql server )。
谢谢
答案 0 :(得分:1)
您可以随时尝试Google。
我假设您可以创建Windows窗体并连接OnClick
个事件,并对数据库运行SqlCommand
。然后,当用户按下相应的按钮时,只需使用上面的文档来编写适当的查询。
答案 1 :(得分:0)
您可以查看此C#示例,了解如何使用SMO备份数据库
另一种选择是运行一个进程并从代码
调用sqlcmdhttp://www.sqldbatips.com/showarticle.asp?ID=27
以下是一些执行流程的示例代码
string fileName = @"C:\Backup.sql";
ProcessStartInfo info = new ProcessStartInfo("sqlcmd", @" -S .\SQLExpress -U sa -d mydatabasename -o C:\sqlout.txt -i """ + @fileName + @""" -P");
info.UseShellExecute = false;
info.CreateNoWindow = true;
info.WindowStyle = ProcessWindowStyle.Hidden;
info.RedirectStandardOutput = true;
Process p = new Process();
p.StartInfo = info;
p.Start();