Назад | Перейти на главную страницу

Зеркальное отображение сервера MS Sql

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

Нам не удалось обнаружить или создать в базе данных MS SQL зеркальное отображение учетных записей пользователей с одного сервера на другой.

Возможно ли это сделать, или зеркальное отображение MS SQL ограничено только таблицами / данными базы данных.

Зеркальное отображение базы данных ограничено только базой данных и не включает никакой информации на уровне экземпляра, такой как имена входа и задания. Их необходимо будет перенести с помощью сценария или вручную. Microsoft предоставила хранимую процедуру под названием sp_help_revlogin который экспортирует логины (и идентификаторы безопасности, связанные с вашими пользователями SQL), и выходные данные этого сценария могут быть запущены на сервере аварийного восстановления. Это создаст логины с одним и тем же паролем, и, поскольку пользователи базы данных (не логины, это отдельные) сопоставлены с логинами экземпляра с использованием SID, а SID остаются такими же, это должно решить вашу проблему. Вам придется создавать сценарии для SQL-заданий отдельно, хотя я думаю, что у Билла Грациано есть скриптовая утилита, которая выполняет обе эти функции и может быть запланирована, хотя я не могу найти ссылку на нее прямо сейчас.

Нашел ссылку.

MSSQL База данных зеркальное отображение не обновляет параметры взаимной безопасности или входа в систему.

Однако вы можете использовать встроенную систему безопасности Windows и добавлять новых пользователей в группу безопасности «webapp».

Это ограничено только базами данных.

SQL Server 2012 представляет автономные базы данных ( http://msdn.microsoft.com/en-us/library/ff929071.aspx) - по сути это базы данных, которые в некотором роде изолирован от остальной части экземпляра SQL Server.

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

Чтобы создать автономных пользователей, вам также необходимо установить для параметра sp_configure «проверка подлинности автономной базы данных» значение 1 как на основном, так и на зеркальном ( http://msdn.microsoft.com/en-us/library/ff929237.aspx)

Чтобы убедиться, что ваша база данных остается в безопасности, есть несколько рекомендаций по безопасности - см. http://msdn.microsoft.com/en-us/library/ff929055.aspx для большего.

Если вы не используете SQL 2012, я понимаю, что от этого мало толку, но, возможно, это хорошая причина для обновления!