Поделиться через


Включение использования сертификатов для входящих соединений в конечной точке зеркального отображения базы данных (Transact-SQL)

В этом разделе описаны этапы настройки экземпляров сервера для использования сертификатов проверки подлинности входящих соединений при зеркальном отображении базы данных. Перед настройкой входящих соединений необходимо настроить исходящие соединения на каждом экземпляре сервера. Дополнительные сведения см. в разделе Включение использования сертификатов для исходящих соединений в конечной точке зеркального отображения базы данных (Transact-SQL).

Процесс настройки входящих соединений состоит из следующих основных шагов:

  1. Создайте имя входа для другой системы.

  2. Создайте пользователя для этого имени входа.

  3. Получите сертификат для конечной точки зеркального отображения другого экземпляра сервера.

  4. Свяжите сертификат с пользователем, созданным на шаге 2.

  5. Предоставьте этому имени входа разрешение CONNECT на эту конечную точку зеркального отображения.

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

Ниже эти шаги описаны подробно. Для каждого шага приведен пример настройки экземпляра сервера в системе с именем HOST_A. В соответствующем разделе «Пример» показаны те же шаги для другого экземпляра сервера в системе с именем HOST_B.

Настройка экземпляров сервера на входящие соединения зеркального отображения (на узле HOST_A)

  1. Создайте имя входа для другой системы.

    В следующем примере в базе данных master экземпляра сервера на узле HOST_А создается имя входа для системы HOST_B; созданное имя входа называется HOST_B_login. Подставьте в пример свой собственный пароль.

    USE master;
    CREATE LOGIN HOST_B_login 
       WITH PASSWORD = '1Sample_Strong_Password!@#';
    GO
    

    Дополнительные сведения см. в разделе CREATE LOGIN (Transact-SQL).

    Чтобы просмотреть имена входа для данного экземпляра сервера, необходимо выполнить следующую инструкцию Transact-SQL:

    SELECT * FROM sys.server_principals
    

    Дополнительные сведения см. в разделе sys.server_principals (Transact-SQL).

  2. Создайте пользователя для этого имени входа.

    В следующем примере для имени входа, созданного на предыдущем шаге, создается пользователь 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).

  3. Получите сертификат для конечной точки зеркального отображения другого экземпляра сервера.

    Необходимо получить копию сертификата для конечной точки зеркального отображения удаленного экземпляра сервера, если это еще не было сделано во время настройки исходящих соединений. Для этого требуется создать резервную копию сертификата на этом экземпляре сервера, как описано в разделе Включение использования сертификатов для исходящих соединений в конечной точке зеркального отображения базы данных (Transact-SQL). При копировании сертификата на другую систему используйте безопасный метод копирования. Отнеситесь с особым вниманием к хранению сертификатов в безопасном месте.

    Дополнительные сведения см. в разделе BACKUP CERTIFICATE (Transact-SQL).

  4. Свяжите сертификат с пользователем, созданным на шаге 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).

  5. Предоставьте данной учетной записи разрешение 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 для входящих соединений.

ПримечаниеПримечание

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

USE master;
--On HOST_B, create a login for HOST_A.
CREATE LOGIN HOST_A_login WITH PASSWORD = 'AStrongPassword!@#';
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.)
--Asscociate 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).

Безопасность

При копировании сертификата на другую систему используйте безопасный метод копирования. Отнеситесь с особым вниманием к хранению сертификатов в безопасном месте.

См. также

Справочник

GRANT, предоставление разрешений на конечные точки (Transact-SQL)

Основные понятия

Безопасность транспорта для зеркального отображения баз данных и групп доступности AlwaysOn (SQL Server)

Настройка зашифрованной зеркальной базы данных

Конечная точка зеркального отображения базы данных (SQL Server)

Диагностика конфигурации зеркального отображения базы данных (SQL Server)