Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
В этом примере показаны все этапы, необходимые для создания сеанса зеркального отображения базы данных с свидетелем с помощью проверки подлинности 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)
Настройка зеркальной базы данных для использования надежного свойства (Transact-SQL)
Пример. Настройка зеркального отображения базы данных с помощью сертификатов (язык Transact-SQL)
См. также
Изменить базу данных (Transact-SQL)
Конечная точка зеркального отображения базы данных (SQL Server)
Транспортная безопасность для зеркального отображения базы данных и групп доступности Always On (SQL Server)
Управление метаданными при создании базы данных в другом экземпляре сервера (SQL Server)
Центр безопасности для ядра СУБД SQL Server и Базы данных Azure SQL