Можно ли восстановить БД и сохранить разрешение безопасности для входа из предыдущей БД? - PullRequest
0 голосов
/ 31 октября 2019

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

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

Возможно ли это вообще?

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

1 Ответ

0 голосов
/ 31 октября 2019

Обычно база данных users должна быть сопоставлена ​​с экземпляром logins, чтобы работать, но если вы хотите сделать свою БД более независимой от экземпляра и управлять своей базой данных изнутри, тогда решением для вас будет Содержащие базы данных .

От MS BOL:

Содержащаяся база данных - это база данных, которая изолирована от других баз данных и от экземпляра SQL Server, на котором размещена база данных. SQL Server 2017 помогает пользователю изолировать свою базу данных от экземпляра четырьмя способами.

  • Большая часть метаданных, описывающих базу данных, сохраняется в базе данных. (В дополнение или вместо ведения метаданных в основной базе данных.)

  • Все метаданные определены с использованием одного и того же сопоставления.

  • Аутентификация пользователя может выполняться с помощью базы данных, что уменьшает зависимость базы данных от имени входа экземпляра SQL Server.

  • Среда SQL Server (DMV, XEvents и т. Д.) Сообщает и можетдействовать на основании информации о сдерживании.

...