Резервное копирование и восстановление базы данных MS SQL - PullRequest
2 голосов
/ 18 октября 2011

Ситуация проста.
У меня есть приложение в C #, которые используют базу данных MS SQL. По какой-то причине мне нужно добавить некоторые функции резервного копирования / восстановления. Я не не имею прямого доступа к экземпляру MS SQL.

Есть ли другой простой способ сделать резервную копию базы данных из C #? Может быть, какой-нибудь скрипт может создавать таблицы, структуры и данные, которые можно использовать на другом компьютере?

Мне нужно сделать это только через C # (стандартные ссылки .NET). Нет сторонних приложений.

Ответы [ 2 ]

3 голосов
/ 18 октября 2011

Нет, нет.

Если у вас нет прав доступа или даже входа в систему для экземпляра SQL Server, вы не сможете выполнять какие-либо команды BACKUP для базы данных.

Резервное копирование файловой системы (mdf, ldf и ndf) не является достаточной стратегией резервного копирования для SQL Server.

1 голос
/ 18 октября 2011

Для этого вы можете использовать SMO (при условии, что у вас есть соответствующие права доступа):

Чтобы запустить метод SqlBackup, пользователи должны иметь BACKUP DATABASE или BACKUP ЗАПИСАТЬ разрешения на базу данных, или быть членом db_owner и предопределенная роль базы данных db_backupoperator и фиксированный сервер sysadmin роль.

Также:

C # SMO резервное копирование удаленной базы данных на локальный компьютер .

Начало работы с SMO в SQL 2005 - резервные копии

...