среда, 13 апреля 2011 г.

MS SQL Mirror

Создание зеркала SQL

0) AD домен DOMAIN. Администраторы SQL на разных машинах разные, но входят в одни и те же группы. Пользователи доменные и администраторы на локальных машинах, например MRRUSR и MRRUSR2

1) Machine A, Machine B с установленным SQLserver. Отключаем фаирволы, включим после настройки.

3) MSSQLSERVER service запускается с правами MRRUSR и MRRUSR2 соотвественно.

4) Machine A будет Главным (PRINCIPAL), B зеркалом (MIRROR).

5) Заходим на машины под пользователями MRRUSR и MRRUSR2 соотвественно.

6) ОТкрываем Sql server Studio. Подключаемся используя windows authenticacion.

7) Создаем БД на A. Создаем таблицу и несколько данных.

8) Делаем бекап новой таблицы (Full backup) с расширением .bak

9) Делаем бекап новой таблицы (Transaction log) с расширением .trn

10) Копируем на B.

11) Restore .bak на машине B в новую DB используя NORECOVERY option

12) Restore .trn на машине B в новую DB используя NORECOVERY option

13) Заходим на Machine A, открываем a new query

14) Смотрим есть ли на нем endpoints

SELECT type_desc, port FROM sys.tcp_endpoints;
SELECT name,role,state_desc FROM sys.database_mirroring_endpoints;



15) Удаляем их с помощью (DROP ENDPOINT [NAME])

16) Создаем новую endopoint

CREATE ENDPOINT [Mirroring]
AS TCP (LISTENER_PORT = 5023)
FOR DATA_MIRRORING (ROLE = PARTNER, ENCRYPTION=DISABLED)



17) Запускаем ее

ALTER ENDPOINT [Mirroring]
STATE = STARTED
AS TCP (LISTENER_PORT = 5023)
FOR database_mirroring (ROLE = PARTNER);
GO



18) Повторяем шаги с 13 по 17 на B.

19) Возвращаемся на A. Query.

20) Подключаемся к партнеру на машине B. (Нужно убедится что пингу идут и telnet на порт 5023 работает)

ALTER DATABASE NAME
SET PARTNER ='TCP://MACHINENAME:5023'

21) Повторяем шаг 20 на машине B, только в запросе имя машины меняем MACHINE B pointing to MACHINE A

22) Обновляем на серверах вкладки databases в Studio, должны увидеть, что настроилось зеркало.

23) Протестируем: добавим несколько данных в БД на машине A.

24) Затем правой кнопкой по БД, Mirrorи там жмем “FAILOVER”, и говорим yes.

25) Обновляем на серверах вкладки databases в Studio, должны увидеть, что роли сменились.


26) Open Machine B databse, the new data should be there.

вторник, 12 апреля 2011 г.

MS SQL Restoring

База данных MS SQL в статусе
Restoring

Вывести из этого состояния:
RESTORE DATABASE имя_БД WITH RECOVERY