Пример. Настройка зеркального отображения базы данных с помощью проверка подлинности Windows (Transact-SQL)
Область применения: SQL Server
В этом примере показаны все этапы создания сеанса зеркального отображения базы данных со следящим сервером, использующим проверку подлинности Windows. В примерах в этом подразделе используется язык Transact-SQL. Обратите внимание, что в качестве альтернативы использованию этапов Transact-SQL для установки зеркального отображения баз данных можно воспользоваться мастером конфигурации безопасности зеркального отображения баз данных. Дополнительные сведения см. в подразделе Создание сеанса зеркального отображения базы данных с использованием проверки подлинности Windows (среда SQL Server Management Studio).
Необходимые условия
В примере используется образец базы данных AdventureWorks , которая по умолчанию использует простую модель восстановления. Для зеркального отображения этой базы данных нужно переключить ее на модель полного восстановления. Чтобы сделать это средствами языка Transact-SQL, выполните следующую инструкцию ALTER DATABASE:
USE master;
GO
ALTER DATABASE AdventureWorks
SET RECOVERY FULL;
GO
Дополнительные сведения об изменении модели восстановления в SQL Server Management Studio см. в статье Просмотр или изменение модели восстановления базы данных (SQL Server).
Разрешения
Требуется разрешение ALTER для базы данных и разрешение CREATE ENDPOINT либо членство в предопределенной роли сервера sysadmin .
Пример
В этом примере два участника и следящий сервер являются экземплярами серверов по умолчанию на трех компьютерах. На трех экземплярах сервера работает один и тот же домен Windows, но в данном примере для каждого экземпляра следящего сервера предусмотрены разные учетные записи пользователя (применяемые в качестве учетной записи запуска для службы).
В следующей таблице представлены все значения, использованные в этом примере.
Начальная роль зеркального отображения | Система размещения | Учетная запись пользователя домена |
---|---|---|
Субъект | PARTNERHOST1 | <Mydomain>\<dbousername> |
Зеркальное отображение | PARTNERHOST5 | <Mydomain>\<dbousername> |
Ресурс-свидетель | WITNESSHOST4 | <Somedomain>\<witnessuser> |
Создайте конечную точку на экземпляре основного сервера (экземпляр по умолчанию для PARTNERHOST1).
CREATE ENDPOINT Endpoint_Mirroring STATE=STARTED AS TCP (LISTENER_PORT=7022) FOR DATABASE_MIRRORING (ROLE=PARTNER) GO --Partners under same domain user; login already exists in master. --Create a login for the witness server instance, --which is running as Somedomain\witnessuser: USE master ; GO CREATE LOGIN [Somedomain\witnessuser] FROM WINDOWS ; GO -- Grant connect permissions on endpoint to login account of witness. GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [Somedomain\witnessuser]; --Grant connect permissions on endpoint to login account of partners. GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [Mydomain\dbousername]; GO
Создайте конечную точку на экземпляре зеркального сервера (экземпляр по умолчанию для PARTNERHOST5).
CREATE ENDPOINT Endpoint_Mirroring STATE=STARTED AS TCP (LISTENER_PORT=7022) FOR DATABASE_MIRRORING (ROLE=ALL) GO --Partners under same domain user; login already exists in master. --Create a login for the witness server instance, --which is running as Somedomain\witnessuser: USE master ; GO CREATE LOGIN [Somedomain\witnessuser] FROM WINDOWS ; GO --Grant connect permissions on endpoint to login account of witness. GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [Somedomain\witnessuser]; --Grant connect permissions on endpoint to login account of partners. GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [Mydomain\dbousername]; GO
Создайте конечную точку на экземпляре следящего сервера (экземпляр по умолчанию для WITNESSHOST4).
CREATE ENDPOINT Endpoint_Mirroring STATE=STARTED AS TCP (LISTENER_PORT=7022) FOR DATABASE_MIRRORING (ROLE=WITNESS) GO --Create a login for the partner server instances, --which are both running as Mydomain\dbousername: USE master ; GO CREATE LOGIN [Mydomain\dbousername] FROM WINDOWS ; GO --Grant connect permissions on endpoint to login account of partners. GRANT CONNECT ON ENDPOINT::Endpoint_Mirroring TO [Mydomain\dbousername]; GO
Создайте зеркальную базу данных. Дополнительные сведения см. в статье Подготовка зеркальной базы данных к зеркальному отображению (SQL Server).
На экземпляре зеркального сервера PARTNERHOST5 установите экземпляр сервера PARTNERHOST1 в качестве участника (для этого его нужно сделать начальным экземпляром основного сервера).
ALTER DATABASE AdventureWorks SET PARTNER = 'TCP://PARTNERHOST1.COM:7022' GO
На экземпляре основного сервера PARTNERHOST1 установите экземпляр сервера PARTNERHOST5 в качестве участника (для этого нужно сделать его начальным экземпляром зеркального сервера).
ALTER DATABASE AdventureWorks SET PARTNER = 'TCP://PARTNERHOST5.COM:7022' GO
На основном сервере задайте следящий сервер (находящийся на экземпляре WITNESSHOST4).
ALTER DATABASE AdventureWorks SET WITNESS = 'TCP://WITNESSHOST4.COM:7022' GO
Связанные задачи
Подготовка зеркальной базы данных для зеркального отображения (SQL Server)
Настройка зеркальной базы данных на использование свойства Trustworthy (Transact-SQL)
Пример. Настройка зеркального отображения базы данных с помощью сертификатов (язык Transact-SQL)
См. также
ALTER DATABASE (Transact-SQL)
Конечная точка зеркального отображения базы данных (SQL Server)
Безопасность транспорта для зеркального отображения баз данных и групп доступности AlwaysOn (SQL Server)
Управление метаданными при создании базы данных в другом экземпляре сервера (SQL Server)
Центр безопасности для ядра СУБД SQL Server и Базы данных Azure SQL