2011-10-18 181 views
2

情况很简单。
我在使用MS SQL数据库的C#中有应用程序。 由于某些原因,我需要添加一些备份/恢复功能。 I 不要可以直接访问MS SQL实例。备份和恢复MS SQL数据库

是否有任何其他简单的方法来从C#备份数据库? 也许某些脚本可以创建可以在其他机器上使用的表,结构和数据?

我只需要通过C#(标准的.NET引用)来做到这一点。没有第三方应用程序。

回答

1

您可以使用SMO这个(只要你有适当的访问权限):

要运行SqlBackup方法,用户必须拥有对数据库的BACKUP DATABASE或BACKUP LOG权限,或成为其成员的db_owner和 db_backupoperator固定的数据库角色和sysadmin固定服务器的 角色。

另外:

C# SMO backup of remote database to local machine

Getting Started with SMO in SQL 2005 - Backups

+0

用户不需要权限来运行这些命令吗? – 2011-10-18 14:18:15

+0

用户需要适当的权限才能做任何事情! :) –

+0

究竟:)看起来像OP运气不好,没有权限然后。 – 2011-10-18 14:21:07

3

不,没有。

如果您没有权限,甚至没有登录到SQL Server实例,您将无法对数据库运行任何种类的BACKUP命令。

备份文件系统(mdf,ldf和ndf)不是SQL Server的充分备份战略。