sql server - c# express back up/restore database

本文关键字:up restore database back express server sql | 更新日期: 2023-09-27 17:56:11

我完全迷失在这里,我的时间不多了。让我解释一下我的情况:

我用C# Express 2010和SQL Server Express 2008 R2创建了一个软件。

现在在我的软件的设置部分,用户应该能够手动备份/恢复数据库。

此外,他

应该能够安排数据库的备份,该数据库将在他设置的时间运行。

我不知道如何让这两个工作,我希望这里有人可以指出我正确的方向。

  • 我需要能够创建一个从 备份/还原数据库单击按钮
  • 我需要能够安排备份过程

请记住,当用户在他的计算机上安装软件时,他不会安装 sql 服务器(我之所以这样说,是因为给我的印象是 SMO 要求在客户端计算机上预安装 sql server)。

谢谢

sql server - c# express back up/restore database

你可以随时尝试谷歌。

  1. 备份
  2. 恢复
  3. 使用 SQL 作业代理自动执行备份脚本

我假设您可以创建Windows窗体并连接OnClick事件,并对数据库运行SqlCommand。 然后,只需在用户按下相应的按钮时,使用上面的文档编写适当的查询即可。

顺便说一句:这是一个问答网站,而不是一个紧急顾问商店。 不要说"我的时间不多了"之类的话,也不要写一大堆需求,然后告诉我怎么做。 这样你绝对不会得到任何帮助。在展示您的努力和具体技术问题后提出具体问题。

您可以查看此 C# 示例,了解如何使用 SMO 备份数据库

http://social.msdn.microsoft.com/forums/en-US/sqlexpress/thread/95750bdf-fcb1-45bf-9247-d7c0e1b9c8d2/

另一种选择是运行进程并从代码调用 sqlcmd

http://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();