Показаны сообщения с ярлыком SQL. Показать все сообщения
Показаны сообщения с ярлыком SQL. Показать все сообщения

вторник, 27 октября 2009 г.

Суета вокруг кластера.

Как знают те, кто посещал встречу MCP-Клуба, посвященную кластеризации в Windows Server 2008, я в этих самых кластерах не слишком-то хорошо разбираюсь. Впрочем, при условии, что ничего не ломается в Windows 2008 не много и надо, чтобы разбираться (шутка, разумеется), а вот c Windows Server 2003 – совсем другая картина.

И вот, в очередной раз вздумалось мне (по необходимости, разумеется), переконфигурировать кластер SQL Server 2005 под управлением Windows Server 2003. Для чего предупредил я своих пользователей о прекращении обслуживания… да и удалил к чертовой бабушке ресурсы кластерныя. (ну сумасшедший, что возьмешь (с)) =)

А потом пересоздал ресурсы, запустил и… Оно “не взлетело”. Конкретнее:

“Error: 26054, Severity: 16, State: 1.
Could not find any IP address that this SQL Server instance depends upon.  Make sure that the cluster service is running, that the dependency relationship between SQL Server and Network Name resources is correct, and that the IP addresses on which this SQL Server instance depends are available.  Error code: 0x103”.

Мда. Времени оставалось мало, знаний было еще меньше, так что моей заслуги в этом нет – спас великий Google. Оказывается, при пересоздании кластерного ресурса в некоторых обстоятельствах не перепрописывается некий параметр в реестре, из-за чего и происходит такая вот несуразица. Как восстановить? Оказалось, весьма просто, хотя должен повторить сакраментальное:

ВНИМАНИЕ: данная статья содержит информацию о редактировании реестра. Сделайте резервную копию и удостоверьтесь, что Вы понимаете, как восстановить из нее реестр в случае необходимости. Сделайте это до того, как править реестр.

Итак, есть ветка реестра HKLM\Cluster. В ней много чего интересного для самостоятельного изучения, но нас интересует подветка Resources (кстати, в статье, которая мне помогла выйти на это решение, есть опечатка), в которой в папках, названных “в честь” GUID’ов этих самых ресурсов хранятся разнообразные параметры. Найдя GUID нужного нам ресурса, заходим в его папочку Parameters и создаем два ключа:

• InstanceName
Value Name: InstanceName
Value Type: REG_SZ
Value Data: <Имя инстанса нашего SQL сервера. Дефолтный, например, будет MSSQLSERVER>

• VirtualServerName
Value Name: VirtualServerName
Value Type: REG_SZ
Value Data: <Имя виртуального сервера для этого экземпляра>

Перезапускаемся (это на всякий случай) и – вуаля – все работает. Впрочем, должен сразу отметить – то, что это заработало у меня, не значит для Вас ровным счетом ничего – может и не заработать. А может и заработать, так что будем надеяться на лучшее =)

Статья, в которой я нашел решение:

http://blogs.msdn.com/sqlserverfaq/archive/2009/01/13/sql-server-2005-resource-fails-to-come-online-on-cluster-after-changing-the-san-drive-to-add-more-disk-space.aspx

пятница, 24 октября 2008 г.

Из жизни. SQL, Mirror & все-все-все.

Многие, думаю, знают, что такое зеркалирование в MS SQL Server. Я тоже в курсе, мало того, часто приходится с этой технологией работать. Спасает она меня регулярно, но и подводные камни иной раз подставляет такие, что мама не горюй.

Например, в какой-то момент случилась такая вот оказия:

Перестает отвечать сервер principal. Мы его перезагрузили, но переключение зеркала не произошло, хотя и присутствовал witness. Мало того, после перезагрузки основного сервера у меня на руках оказалось два Principal… Да-да. Именно так мне и писалось. Увы, скриншот снять не догадался – не до того было ;)

Но на одном хосте состояние всех баз было “Principal, Disconnected”, а на втором “Principal, Disconnected/In Recovery” , по-моему.

Ужасная ситуация. Я начал с одной самой маленькой базы – удалил ее с основного хоста и стал восстанавливать зеркало. Восстановил базу на сервер с NORECOVERY и попытался запустить зеркало. Мастер Configure Security отработал на ура, но при попытке запустить зеркалирование я получил ошибку…

image_4

Опа… Какие-такие endpoints… Не брал. И Астрахань-то с Казанью вместе не брал, а уж endpoints… И вовсе не трогал. Начинаем ковыряться и находим статейку, с помощью которой видим, что все отлично работает:

image

Совсем упс… Пинговаться все пингуется, никаких внезапных файрволлов между узлами за те несколько минут, что все лежит тоже не появилось… Ужас. Совершенно непонятная ситуация, а время идет. Дальнейшее расследование нужного результата не давала. Даже нужный порт слушался на обоих серверах. Все было бессмысленным, надежда на премию таяла… И тут где-то промелькнула мысль, что, о ужас, строка, показанная на предыдущем скриншоте, может выдавать неверную информацию не только в случае, указанном в разделе Using The Error Log File For Diagnosis в последней ссылке. Итак, срочно запускаем

alter endpoint mirror state = started

на обоих серверах и – вуаля! Как только я это сделал, все старые базы просто-напросто заработали в штатном режиме зеркала, а та, где я успел убить зеркало дала его восстановить.

Глубинные причины происшедшего мне непонятны пока – расследование все еще ведется, но сам результат уже почти устраивает ;)

четверг, 24 января 2008 г.

2008: Герои среди {нас}!

Как многие из Вас знают, в ближайшее время в мире будут представлены новые продукты от MS:
Windows Server 2008
SQL Server 2008
Visual Studio 2008
К этому событию будет приурочено несколько отличнейших мероприятий. Первое, о котором стоит упомянуть - официальный запуск продуктов в России. Сайт, на который я дал линк, дает Вам возможность зарегистрироваться на этом мероприятии и поучаствовать в нем 18го марта. Зачем, спросите Вы меня? Нуууу...
1) Во-первых, там будут технические презентации по указанным продуктам. Думаю, что как минимум не хуже, чем на Платформе.
2) Во-вторых, там будет снова секция "Спроси эксперта", на которой будут отвечать на вопросы не только сотрудники MS, но и прочие умные люди =)
3) В-третьих, там будут подарки! Да какие... Чтобы узнать какие - прошу на сайт, там все написано =) Ну и тут коротенько...
Продолжая тему мероприятий я могу добавить следующее: после официального запуска будет так называемый Community Launch. В нашей стране он будет представлять из себя серию заседаний MCP Клубов. Причем контент постараемся предоставить уровня 300-400 и без всякой маркетинговой шелухи. В Москве мы планируем сделать серию из 3-10 заседаний, так что следите за новостями =)