Резервное копирование SQL Server для повторного создания на сервере разработки (или тестирования) и сопоставления пользователей - PullRequest
0 голосов
/ 23 июля 2010

Я получил 3 сервера.

  1. разработка (моя локальная машина разработки)
  2. Цель теста (бета-версия).
  3. Производство

Я получил экземпляры как в SQL Server 2005, так и в 2008 году.

Итак, когда мне нужны обновленные данные, я беру последнюю резервную копию с нашего производственного сервера и восстанавливаю ее на сервере тестирования или разработки. У меня есть скрипт, который вносит изменения (восстанавливает файл и вносит небольшие изменения в базы данных.)

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

Есть ли способ включить это в мой скрипт восстановления?

Ответы [ 2 ]

1 голос
/ 23 июля 2010

Я должен удалить его из восстановить базу данных и воссоздать ее из Корневые логины безопасности.

Нет, вам не нужно это делать - по крайней мере, в SQL Server 2005 и 2008.

Что вам нужно сделать (как в сценарии):

USE (your database)
GO

ALTER USER YourUserNo1 WITH LOGIN = YourServerLoginNo1

Это связывает вашего пользователя YourUserNo1 в вашей базе данных (whatever) с именем входа на сервер YourServerLoginNo1.

Работает довольно хорошо, легко! Вы даже можете сделать это в качестве последнего шага в сценарии восстановления (который, я уверен, вам придется восстанавливать эти вещи снова и снова)

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

При восстановлении нашей производственной базы данных на сервер отчетов каждый месяц я запускаю:

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