none
Mirroring SQL 2008 RRS feed

  • Вопрос

  • Уважаемые гуру по SQL, необходима ваша помощь !

    Планируется сделать зеркало существующей базы средствами SQL.
    База находится на одном из двух SQL 2008 серверов на базе Windows 20008 Server. Сервера разделены территориально и видны друг другу через 2 ISA 2006 на Windows 2003 server. Планируется использовать асинхронный режим.

    В процессе планирования и тестовой реализации возникли следующие вопросы:

    1. Версия Enetrprice для асинхронного режима должна быть только одна или обе ?? Можно ли асинхронный режим использовать в версии стандарт ?
    Вопрос возник в связи с тем, что в стандартных версиях нет выбора асинхронного режима...

    2. Попытка создать зеркалирование (обычное) на двух SQL 2008 stdrt и двух ISA 2006 закончился неудачей. Порты 1433 TCP и 1434 UDP, а также порты для зеркалирования TCP 5022, TCP 5023 пробросил в обоих ISA (проверил телнетом и логами ISA сервера) , DNS резолвятся, endponts создаются, при попытке старта Mirror долго думает и сообщает, "Неудалось подключиться к сетевому адресу "TCP://FQDN_Principal_первого_сервера:5022" сервера, или адрес не существует. .....всякая_муть.... Error 1418". . Если запускать всё тоже самое с другого сервера, то ситуация аналогичная, только ругается, соответственно, на сервер, с которого запускаешь......

    3. Куда копать ??? (((

    MCSE: Security
    26 февраля 2009 г. 12:51

Ответы

  • <Есчё вопрос:  правильно ли я понимаю, что при включении мирроринга с использовании witness севера и опции High safery with automatic failover, обе базы и основная <и зеркальная должны быть доступны для работы, а не так как у меня сейчас (основная доступна, а заркальная в вечном Restoring...) ?????
    Понимаете не правильно.
    При Mirroring БД на Mirror всегда в Restoring.
    Чтение из "запасной" БД можо реализовать 2 способами:
    1. Mirroring + Database Snapshot(требует SQL Enterprise)
    Database Mirroring and Database Snapshots (http://technet.microsoft.com/en-us/library/ms175511.aspx)
    2. Log Shiping с опцией на запасном сервере Standby



     

    • Помечено в качестве ответа Boy 22 мая 2009 г. 9:53
    23 марта 2009 г. 14:03
    Отвечающий
  • 1. 
    SQL Server 2008 Books Online (February 2009)
    Asynchronous Database Mirroring (High-Performance Mode)
    Asynchronous database mirroring is supported only by SQL Server 2005 Enterprise Edition Service Pack 1 (SP1) and later versions.
    http://msdn.microsoft.com/en-us/library/ms187110.aspx
    2. какой статус ендпойнтов? должен быть started. требования к шифрованию одинаковые?
    посмотреть sys.endpoints, sys.database_mirroring_endpoints

    3. копать в сторону мониторинга на ИСАХ и СКЛях, а также profiler. под какими учетками работают службы sql? должна быть или одна и та же учетка или надо добавлять учетку другого сервера в логины и давать ей grant connect on endpoint::<endpointname>
    аудит failed logins на скл включен? если нет - включить и проверить, не возникает ли ошибки подключения.
    • Помечено в качестве ответа Boy 17 марта 2009 г. 21:37
    26 февраля 2009 г. 20:12
    Отвечающий
  • >И, получается, под доменной учёткой службу сервере, входящем в домен запускать нельзя, так как я её просто не смогу >создать на сервере, не входящем в домен ?

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

    Почитайте и попробуйте выполнить на стенде статьи:
    Example: Setting Up Database Mirroring Using Certificates (Transact-SQL) http://msdn.microsoft.com/en-us/library/ms191140.aspx
    How to: Allow Database Mirroring to Use Certificates for Inbound Connections (Transact-SQL) http://msdn.microsoft.com/en-us/library/ms187671.aspx
    How to: Allow Database Mirroring to Use Certificates for Outbound Connections (Transact-SQL) http://msdn.microsoft.com/en-us/library/ms186384.aspx
    Implementing Database Mirroring in SQL Server 2005 across domains http://www.mssqltips.com/tipprint.asp?tip=1705
    • Помечено в качестве ответа Boy 21 марта 2009 г. 19:57
    18 марта 2009 г. 9:59
    Отвечающий

Все ответы

  • 1. 
    SQL Server 2008 Books Online (February 2009)
    Asynchronous Database Mirroring (High-Performance Mode)
    Asynchronous database mirroring is supported only by SQL Server 2005 Enterprise Edition Service Pack 1 (SP1) and later versions.
    http://msdn.microsoft.com/en-us/library/ms187110.aspx
    2. какой статус ендпойнтов? должен быть started. требования к шифрованию одинаковые?
    посмотреть sys.endpoints, sys.database_mirroring_endpoints

    3. копать в сторону мониторинга на ИСАХ и СКЛях, а также profiler. под какими учетками работают службы sql? должна быть или одна и та же учетка или надо добавлять учетку другого сервера в логины и давать ей grant connect on endpoint::<endpointname>
    аудит failed logins на скл включен? если нет - включить и проверить, не возникает ли ошибки подключения.
    • Помечено в качестве ответа Boy 17 марта 2009 г. 21:37
    26 февраля 2009 г. 20:12
    Отвечающий
  • Error 1418 - эта ошибка маскирует реальные ошибки (в целях безопасности), которые у вас возможно возникают. Чаще всего оказывается, что базы не синхронны. Убедитесь, что никто не работает с основным сервером и все транзакции переданы зеркалу... часто бывает трудно добиться первоначальной синхронности. Справиться с этим помогает предварительная настройка доставки журналов между базами. 
    27 февраля 2009 г. 8:54
  •  Спасибо за советы!
    По первому и второму пункту всё понятно, а вот по третьему... Дело в том, что у меня один SQL в домене, а другой в рабочей группе. Соответственно "надо добавлять учетку другого сервера в логины и давать ей grant connect on endpoint::<endpointname>" Имеется ввиду учётки под которыми работают службы добавлять в логины и давать грант коннект ???

    И, получается, под доменной учёткой службу сервере, входящем в домен запускать нельзя, так как я её просто не смогу создать на сервере, не входящем в домен ?

    Получается на сервере, входящем в домен, нужно создавать локального пользователя, запускать под ним службу, добавлять этого пользователя в логины сервера, не входящего в домен ???? и тоже самое наоборот ???

    MCSE: Security
    17 марта 2009 г. 21:44
  • >И, получается, под доменной учёткой службу сервере, входящем в домен запускать нельзя, так как я её просто не смогу >создать на сервере, не входящем в домен ?

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

    Почитайте и попробуйте выполнить на стенде статьи:
    Example: Setting Up Database Mirroring Using Certificates (Transact-SQL) http://msdn.microsoft.com/en-us/library/ms191140.aspx
    How to: Allow Database Mirroring to Use Certificates for Inbound Connections (Transact-SQL) http://msdn.microsoft.com/en-us/library/ms187671.aspx
    How to: Allow Database Mirroring to Use Certificates for Outbound Connections (Transact-SQL) http://msdn.microsoft.com/en-us/library/ms186384.aspx
    Implementing Database Mirroring in SQL Server 2005 across domains http://www.mssqltips.com/tipprint.asp?tip=1705
    • Помечено в качестве ответа Boy 21 марта 2009 г. 19:57
    18 марта 2009 г. 9:59
    Отвечающий
  •  Всё получилось, всё гуд, роем дальше )))

    Есчё вопрос:  правильно ли я понимаю, что при включении мирроринга с использовании witness севера и опции High safery with automatic failover, обе базы и основная и зеркальная должны быть доступны для работы, а не так как у меня сейчас (основная доступна, а заркальная в вечном Restoring...) ?????

    UPD: почитал доки....понял, что я неправ...



    Вопрос поставлю по другому...

    Дано:
    1. Два сервера MS SQL 2008 Enterp, один в домене, другой удалённый, в рабочей группе. 
    2. На сервере в домене стоит база, с которой работают пользователи (пишут, читают)
    3. Удалённый сервер предназначен только для чтения из базы

    Необходимо:
    1. Синхронизация баз средствами SQL (автоматическая). Трафик не учитываем.





    MCSE: Security
    21 марта 2009 г. 20:04
  • <Есчё вопрос:  правильно ли я понимаю, что при включении мирроринга с использовании witness севера и опции High safery with automatic failover, обе базы и основная <и зеркальная должны быть доступны для работы, а не так как у меня сейчас (основная доступна, а заркальная в вечном Restoring...) ?????
    Понимаете не правильно.
    При Mirroring БД на Mirror всегда в Restoring.
    Чтение из "запасной" БД можо реализовать 2 способами:
    1. Mirroring + Database Snapshot(требует SQL Enterprise)
    Database Mirroring and Database Snapshots (http://technet.microsoft.com/en-us/library/ms175511.aspx)
    2. Log Shiping с опцией на запасном сервере Standby



     

    • Помечено в качестве ответа Boy 22 мая 2009 г. 9:53
    23 марта 2009 г. 14:03
    Отвечающий