Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:SQL Server
В этом разделе описаны этапы настройки экземпляров сервера для использования сертификатов проверки подлинности входящих соединений при зеркальном отображении базы данных. Перед настройкой входящих соединений необходимо настроить исходящие соединения на каждом экземпляре сервера. Дополнительные сведения см. в разделе Включение использования сертификатов для исходящих соединений в конечной точке зеркального отображения базы данных (Transact-SQL).
Процесс настройки входящих соединений состоит из следующих основных шагов:
Создайте имя входа для другой системы.
Создайте пользователя для этого имени входа.
Получите сертификат для конечной точки зеркалирования другого экземпляра сервера.
Свяжите сертификат с пользователем, созданным на шаге 2.
Предоставьте для этого имени входа разрешение CONNECT на эту конечную точку зеркалирования.
Если имеется свидетель, для него также необходимо настроить входящие соединения. Для этого необходимо настроить логины, пользователей и сертификаты для свидетеля у обеих сторон, и наоборот.
Ниже эти шаги описаны подробно. Для каждого шага приведен пример настройки экземпляра сервера в системе с именем HOST_A. В соответствующем разделе «Пример» показаны те же шаги для другого экземпляра сервера в системе с именем HOST_B.
Настройка экземпляров сервера для зеркального отображения входящих соединений (на узле HOST_A)
Создайте имя входа для другой системы.
В следующем примере в базе данных master экземпляра сервера на узле HOST_А создается имя входа для системы HOST_B; созданное имя входа называется
HOST_B_login
. Замените<password>
допустимым паролем.USE master; CREATE LOGIN HOST_B_login WITH PASSWORD = '<password>'; GO
Дополнительные сведения см. в статье CREATE LOGIN (Transact-SQL).
Чтобы просмотреть имена входа для данного экземпляра сервера, необходимо выполнить следующую инструкцию Transact-SQL:
SELECT * FROM sys.server_principals
Дополнительные сведения см. в статьеsys.server_principals (Transact-SQL).
Создайте пользователя для этого имени входа.
В следующем примере создается пользователь
HOST_B_user
для входа, созданного на предыдущем шаге.USE master; CREATE USER HOST_B_user FOR LOGIN HOST_B_login; GO
Дополнительные сведения см. в статье CREATE USER (Transact-SQL).
Чтобы просмотреть пользователей данного экземпляра сервера, необходимо выполнить следующую инструкцию Transact-SQL:
SELECT * FROM sys.sysusers;
Дополнительные сведения см. в статье sys.sysusers (Transact-SQL).
Получите сертификат для конечной точки зеркального отображения другого экземпляра сервера.
Необходимо получить копию сертификата для конечной точки зеркального отображения удаленного экземпляра сервера, если это еще не было сделано во время настройки исходящих соединений. Для этого создайте резервную копию сертификата в экземпляре сервера, как описано в статье Разрешить конечной точке зеркального отображения базы данных использовать сертификаты для исходящих соединений (Transact-SQL). При копировании сертификата на другую систему используйте безопасный метод копирования. Отнеситесь с особым вниманием к хранению сертификатов в безопасном месте.
Дополнительные сведения см. в статье BACKUP CERTIFICATE (Transact-SQL).
Свяжите сертификат с пользователем, созданным на шаге 2.
В следующем примере сертификат узла HOST_B связывается с соответствующим пользователем на узле HOST_А.
USE master; CREATE CERTIFICATE HOST_B_cert AUTHORIZATION HOST_B_user FROM FILE = 'C:\HOST_B_cert.cer' GO
Дополнительные сведения см. в статье CREATE CERTIFICATE (TRANSACT-SQL).
Чтобы просмотреть сертификаты данного экземпляра сервера, необходимо выполнить следующую инструкцию Transact-SQL:
SELECT * FROM sys.certificates
Дополнительные сведения см. в статье sys.certificates (Transact-SQL).
Предоставьте данной учетной записи разрешение CONNECT на эту удаленную конечную точку зеркального отображения.
Например, чтобы предоставить разрешение HOST_A удаленному экземпляру сервера на HOST_B для подключения к его локальной учетной записи, то есть подключиться к
HOST_B_login
, необходимо выполнить следующие инструкции Transact-SQL:USE master; GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [HOST_B_login]; GO
Дополнительные сведения см. в разделе GRANT, предоставление разрешений на конечные точки (Transact-SQL).
Настройка проверки подлинности сертификата, выданного узлу HOST_B для входа в систему HOST_A, завершена.
Теперь вам нужно выполнить эквивалентные входящие шаги для HOST_A на HOST_B. Эти шаги проиллюстрированы в входящей части примера в разделе «Пример» ниже.
Пример
В следующем примере показано, как настроить узел HOST_B для входящих соединений. Замените <password>
допустимым паролем.
Примечание.
В этом примере используется файл сертификата, содержащий сертификат HOST_A, который создан фрагментом кода из раздела Использование сертификатов для исходящих соединений при зеркальном отображении базы данных (Transact-SQL).
USE master;
--On HOST_B, create a login for HOST_A.
CREATE LOGIN HOST_A_login WITH PASSWORD = '<password>';
GO
--Create a user, HOST_A_user, for that login.
CREATE USER HOST_A_user FOR LOGIN HOST_A_login
GO
--Obtain HOST_A certificate. (See the note
-- preceding this example.)
--Associate this certificate with the user, HOST_A_user.
CREATE CERTIFICATE HOST_A_cert
AUTHORIZATION HOST_A_user
FROM FILE = 'C:\HOST_A_cert.cer';
GO
--Grant CONNECT permission for the server instance on HOST_A.
GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO HOST_A_login
GO
Если вы планируете работать в режиме высокой безопасности с автоматическим переключением, необходимо повторить те же самые этапы для настройки свидетеля на входящие и исходящие соединения.
Дополнительные сведения о создании зеркальной базы данных, содержащей пример Transact-SQL, см. в статье Подготовка зеркальной базы данных к зеркальному отображению (SQL Server).
Пример запроса Transact-SQL, устанавливающий сеанс с режимом высокой производительности, см. в статье Пример. Настройка зеркального отображения базы данных с помощью сертификатов (Transact-SQL).
Безопасность .NET Framework
При копировании сертификата на другую систему используйте безопасный метод копирования. Отнеситесь с особым вниманием к хранению сертификатов в безопасном месте.
См. также
Безопасность передачи данных для зеркального отображения баз данных и групп доступности Always On (SQL Server)
Grant Endpoint Permissions (Transact-SQL)
Настройка зашифрованной зеркальной базы данных
Конечная точка зеркального отображения базы данных (SQL Server)
Диагностика конфигурации зеркального отображения базы данных (SQL Server)