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 作业代理自动执行备份脚本
我假设您可以创建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();