Резервное копирование базы данных SQL Server без разрешения резервного копирования - PullRequest
4 голосов
/ 09 мая 2009

У меня есть хост, на котором работает SQL Server 2005, у меня есть возможность войти в свою базу данных и скопировать / прочитать / записать / удалить все таблицы / представления / sp. Я попытался просто щелкнуть правой кнопкой мыши по своему серверу и выбрать резервное копирование, но у меня, похоже, нет разрешения на резервное копирование.

Это не может быть редким явлением (кто-то, использующий базу данных host / provider).

Кто-нибудь разобрался, как сделать резервную копию базы данных на удаленном компьютере (не прибегая к простой старой копии строка за строкой)? Я хотел бы иметь свою собственную резервную копию моего сервера, не полагаясь на свой хост для резервного копирования. Если да, то какая библиотека / приложение позволило вам сделать это.

Обратите внимание, я полагаю, что мой хост разрешает какую-либо форму резервного копирования с использованием (Мастер публикации баз данных) Кто-нибудь знает, какие библиотеки он использует (чтобы я мог воспроизвести его в своем коде)?

Ответы [ 9 ]

4 голосов
/ 09 мая 2009

Почему бы вам не экспортировать базу данных на другой сервер SQL? Если у вас есть разрешение на чтение, вы можете сделать это. Это больше похоже на резервную копию с отличительными чертами.

Вот руководство по экспорту базы данных:

http://www.databasejournal.com/features/mssql/article.php/3580216/SQL-Server-2005-Import--Export-Wizard.htm

Вы можете экспортировать его в Express Edition с некоторыми ограничениями, например, размером не более 1 гигабайта.

1 голос
/ 09 мая 2009

Мастер публикации баз данных просто вытягивает все объекты в вашей базе данных в файл .sql. Я не уверен насчет библиотек, но мне немного неясно, зачем вам нужно это воспроизводить. Если вам нужно вызвать его программно, он имеет интерфейс командной строки.

Вот ссылка на скачивание: Связь

Кроме того, вот ссылка о том, как использовать мастер публикации из командной строки: Дополнительная связь

0 голосов
/ 29 марта 2012

Если вы используете SQL Server, вы можете запустить службу MSSQL для сетевой службы. Таким образом, в качестве резервной копии вы можете создать свою базу данных в общей папке на вашем компьютере, если у вас есть права на запись в общую папку. ñ_ñ

Пример кода:

USE AdventureWorks;
GO
BACKUP DATABASE AdventureWorks
TO DISK = '\\yourmachine\SQLServerBackups\AdventureWorks.Bak'
   WITH FORMAT,
      NAME = 'Full Backup of AdventureWorks';
GO
0 голосов
/ 07 мая 2010

Если вы используете SQL Server, вы можете запустить службу MSSQL для сетевой службы. Таким образом, в качестве резервной копии вы можете создать свою базу данных в общей папке на вашем компьютере, если у вас есть права на запись в общую папку. ñ_ñ

USE AdventureWorks;
GO
BACKUP DATABASE AdventureWorks
TO DISK = '\\yourmachine\SQLServerBackups\AdventureWorks.Bak'
   WITH FORMAT,
      NAME = 'Full Backup of AdventureWorks';
GO

см .: http://msdn.microsoft.com/en-us/library/ms191304.aspx

0 голосов
/ 09 мая 2009

Взгляните на http://www.codeplex.com/SqlWebAdmin

Я использую его вместе с хостом 1and1.com, просто установите его, как и любой другой веб-сайт, и тогда вы «сможете» использовать ОДНО административные функции, аналогичные SSMS. Ваш сервис хостинга может варьироваться ... Я знаю, что во многих из них все довольно плотно заблокировано по очевидным причинам.

0 голосов
/ 09 мая 2009

Лучше всего связаться с вашим хостинг-провайдером и узнать, предлагают ли они доступ к резервным копиям через веб-панель управления или другим способом.

0 голосов
/ 09 мая 2009

Добавьте к комментарию Джоэла: хостинговая компания, вероятно, хочет ограничить эти операции по соображениям производительности на своем SQL Server (возможно, они хотят, чтобы резервное копирование происходило только ночью или что-то в этом роде). Или иногда они просто хотят взимать дополнительную плату за частое резервное копирование.

Так что вам придется сделать что-то другое для резервного копирования данных. Не забудьте не выходить за пределы SQL хоста;)

0 голосов
/ 09 мая 2009

На другой ответ: размещенный провайдер; Я очень сомневаюсь, что они дают разрешение на чтение / запись локальных дисков для учетных записей, которые они настраивают.

  • Лично я бы просто написал скрипт для БД с помощью мастера публикации БД, который должен дать вам реальный скрипт, который вы сможете использовать в будущем.

  • Вы также можете щелкнуть правой кнопкой мыши на БД и выбрать опцию «скрипт» (по крайней мере, в неэкспрессе)

  • Кроме того, вы можете связаться с хостом и спросить о доступе к вашим резервным копиям. Не знаю, сможете ли вы получить их или нет, или каков будет процесс их возвращения для восстановления.

  • Существуют и другие инструменты для этого, к которым вы можете получить источник. Не уверен, насколько хорошо они все работают, хотя

0 голосов
/ 09 мая 2009

У меня нет разрешения на резервное копирование.

Что вы подразумеваете под «кажись»? Разве этого нет?

Если это так, я подозреваю, что вы используете экспресс-выпуск SQL Server Management Studio. Некоторые функции в Management Studio & mdash; включая резервное копирование / восстановление & mdash; доступны только в платной версии. Но функция все еще существует в самой базе данных, и разрешения могут быть в порядке. Если вы подключитесь к полной версии Management Studio, вы сможете выполнить резервное копирование.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...