Лучший способ скопировать базу данных (SQL-сервер 2008)

Немой вопрос - что лучший способ состоит в том, чтобы скопировать случаи в окружающей среде, где я хочу освежить сервер развития со случаями от рабочего сервера?

Я сделал резервную копию - восстанавливают, но я услышал, «отделяют копию, свойственны», и один парень даже сказал мне, что просто скопирует файлы данных между файловыми системами....

Это три (или два, последний кажется видом подозреваемого), принятые методы?

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

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

72
задан Eran Betzalel 11 January 2010 в 18:03
поделиться

3 ответа

Самый быстрый способ скопирования базы данных - это отсоединить метод прикрепления к копированию, но Пользователи производства не будут иметь доступ к базе данных, когда PROD DB отсоединяется. Вы можете сделать что-то подобное, если ваша продукция БД является например, точка продажи системы, которую никто не использует ночью.

Если вы не можете отсоединить производство БД, вы должны использовать резервное копирование и восстановление.

Вам придется создавать логины, если они не в новом экземпляре. Я не рекомендую копировать системные базы данных.

Вы можете использовать студию по управлению SQL Server для создания сценариев, которые создают нужные вам логины. Щелкните правой кнопкой мыши на вхождении, необходимые для создания и выбора входа в скрипт как / создать.

Это перечисляет осиротевших пользователей:

EXEC sp_change_users_login 'Report'

Если у вас уже есть идентификатор логина и пароль для этого пользователя, исправить его, выполнив:

EXEC sp_change_users_login 'Auto_Fix', 'user'

Если вы хотите создать новый логин и пароль для этого пользователя, исправить Это делая:

EXEC sp_change_users_login 'Auto_Fix', 'user', 'login', 'password'
32
ответ дан 24 November 2019 в 12:44
поделиться

Его трудно отделить вашего производства дБ или других работающих дБ и справиться с этим простоями, так что я почти всегда использую резервное копирование / восстановление метода.

Если вы также хотите убедиться, что ваш логин синхронизирован, ознакомьтесь со статьей MS KB article об использовании хранимого proc sp_help_revlogin для этого.

6
ответ дан 24 November 2019 в 12:44
поделиться

Если вы хотите взять копию живой базы данных, выполните метод Резервного копирования/Восстановления.

[В SQLS2000 не уверен насчет 2008:] Просто помните, что если вы используете учетные записи SQL сервера в этой базе данных, в отличие от учетных записей Windows, если основная БД отличается или не синхронизирована на сервере разработки, то учетные записи пользователей не будут переводиться при восстановлении. Я слышал о ПС для их восстановления, но не могу вспомнить, какая из них была.

-1
ответ дан 24 November 2019 в 12:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: