Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Зеркалирование  [new]
SQLнагибатор
Member

Откуда:
Сообщений: 10
День добрый.
Имеются 2 сервера win server 2008 r2 ent, на обоих стоит:
Microsoft SQL Server 2012 - 11.0.2100.60 (X64) Feb 10 2012 19:39:15 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
Было не так давно настроено зеркалирование со следящем сервером.

Проблема в следующем: ночью базы в рандомном количестве переключаются на зеркальный сервер. В логах винды и скуля ничего по этому поводу нету.

Кто может подсказать в какую сторону копнуть?
Есть подозрение что из-за в фул-бэкапа баз, он начинается в 23:00 по мск. Возможно ли из-за него такое происходить?


И ещё вопрос: для обратного переключения сервера есть команда "ALTER DATABASE *NameDB* SET PARTNER FAILOVER;". А если нужно переключить большое количество баз - нужно создавать задание с такой командой для каждой базы?
1 июн 15, 13:24    [17715113]     Ответить | Цитировать Сообщить модератору
 Re: Зеркалирование  [new]
Glory
Member

Откуда:
Сообщений: 104751
SQLнагибатор
Проблема в следующем: ночью базы в рандомном количестве переключаются на зеркальный сервер. В логах винды и скуля ничего по этому поводу нету

Откуда вы тогда знаете, что они "переключаются" ?
1 июн 15, 13:26    [17715134]     Ответить | Цитировать Сообщить модератору
 Re: Зеркалирование  [new]
SQLнагибатор
Member

Откуда:
Сообщений: 10
С утра, заходя на сервер вижу что базы уже такие как на скрине.

К сообщению приложен файл. Размер - 72Kb
1 июн 15, 13:32    [17715174]     Ответить | Цитировать Сообщить модератору
 Re: Зеркалирование  [new]
Glory
Member

Откуда:
Сообщений: 104751
SQLнагибатор
С утра, заходя на сервер вижу что базы уже такие как на скрине.

А вечером они были "не такие" ?
1 июн 15, 13:34    [17715187]     Ответить | Цитировать Сообщить модератору
 Re: Зеркалирование  [new]
SQLнагибатор
Member

Откуда:
Сообщений: 10
Вечером такие...

К сообщению приложен файл. Размер - 37Kb
1 июн 15, 13:44    [17715257]     Ответить | Цитировать Сообщить модератору
 Re: Зеркалирование  [new]
komrad
Member

Откуда:
Сообщений: 5735
SQLнагибатор
Было не так давно настроено зеркалирование со следящем сервером.

это вам "привет" от следящего сервера ;)

отключайте следящий и сначала выясняйте про таймауты в сети в ночное время

большое кол-во баз переключается большим кол-вом команд
хотя можете настроить AlwaysOn и там уже базы могут переключаться группами
1 июн 15, 16:42    [17716388]     Ответить | Цитировать Сообщить модератору
 Re: Зеркалирование  [new]
churupaha
Member

Откуда: Краснодар
Сообщений: 1015
SQLнагибатор
А если нужно переключить большое количество баз - нужно создавать задание с такой командой для каждой базы?


можно так сгенерить

declare
	@secondary_url nvarchar(1024) = N'tcp://wh01:5002',
	@primary_url nvarchar(1024) = N'tcp://wh01:5001';

select
	N'alter database ' + quotename(d.name) + N' set partner = N''' + @secondary_url + N''';' as exec_on_primary,
	N'alter database ' + quotename(d.name) + N' set partner = N''' + @primary_url + N''';' as exec_on_secondary
from
	sys.databases d
where
	name  not in (N'master', N'msdb', N'tempdb', N'model');
1 июн 15, 16:48    [17716430]     Ответить | Цитировать Сообщить модератору
 Re: Зеркалирование  [new]
churupaha
Member

Откуда: Краснодар
Сообщений: 1015
+ пардон. скопипастил со скрипта. все также только для такой команды. "ALTER DATABASE *NameDB* SET PARTNER FAILOVER;"

+ поджойнить с sys.database_mirroring чтобы отфильтровать по текущей роли кому failover нужен, кому нет.
1 июн 15, 16:51    [17716458]     Ответить | Цитировать Сообщить модератору
 Re: Зеркалирование  [new]
churupaha
Member

Откуда: Краснодар
Сообщений: 1015
select
	N'alter database ' + quotename(d.name) + N' set partner failover;' cmd
from
	sys.databases d
		inner join
	sys.database_mirroring dm on d.database_id = dm.database_id
where
	dm.mirroring_role_desc = N'PRINCIPAL'
1 июн 15, 16:58    [17716517]     Ответить | Цитировать Сообщить модератору
 Re: Зеркалирование  [new]
komrad
Member

Откуда:
Сообщений: 5735
churupaha
select
	N'alter database ' + quotename(d.name) + N' set partner failover;' cmd
from
	sys.databases d
		inner join
	sys.database_mirroring dm on d.database_id = dm.database_id
where
	dm.mirroring_role_desc = N'PRINCIPAL'

здесь sys.databases лишнее - можно сделать select db_name(database_id) по sys.database_mirroring
1 июн 15, 18:43    [17717019]     Ответить | Цитировать Сообщить модератору
 Re: Зеркалирование  [new]
SQLнагибатор
Member

Откуда:
Сообщений: 10
churupaha,komrad
Спасибо, буду копать в эту сторону.
2 июн 15, 10:07    [17718680]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить