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

четверг, 21 июля 2011 г.

Боремся с Deadlock на Net.Framework - не работает WSUS

После установки очередного обновления на сервере, который сам и является WSUS(Windows Software Update Service) сервером, и перезагрузки его не мог никак зайти в консоль WSUS - она постоянно выпадала, не помогало даже удаление файла wsus в папке %appdata%\Microsoft\MMC\.

Поиск по ошибке вида:
ISAPI 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll' reported itself as unhealthy for the following reason: 'Deadlock detected'.


а также в application логе:

Event Type: Warning
Event Source: W3SVC-WP
Event Category: None
Event ID: 2262
Date: 22.07.2011
Time: 10:49:40
User: N/A
Computer: WSUS-REAL
Description:
ISAPI 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll' reported itself as unhealthy for the following reason: 'Deadlock detected'.

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.


Поиск в интернете всё время приводил к одной и той же статье:

http://support.microsoft.com/kb/974165/en-us
По которой не ясно было что делать, по крайней мере для меня.

Всё говорило о том что "съехала крыша" у Net.Framework, поскольку базу WSUS(SUSDB), расположенную на SQL кластере переводил в offline, а затем в online с отключением пользователей. Эти манипуляции с базой ни привели ни к чему.

На сервере были установлены следующие версии Net.Framework: 2.0, 3.0, 3.5 со всем обновлениями

Так как WSUS перестал работать после установки последних обновлений и перезагрузки, решил откатить последнее обновление, KB2478658 для Net.Framework 2.0 и 3.5 и через "Установка и Удаление Программ" исправил установку Net.Framework 3.5. После перезапуска Windows(на всякий случай) WSUS заработал нормально.

Кстати, после этого я установил обновление KB2478658 и перезагрузил контрольно сервер - WSUS всё-равно работал нормально, просто какой то глюк с Net.Framework.

четверг, 6 мая 2010 г.

WSUS - Миграция базы данных с СУБД SQL Server 2005 на СУБД SQL Server 2008

В английском варианте это звучало бы: WSUS - Migrating from SQL Server 2005 Database to SQL Server 2008 Database
Конечно же всем для начала читать WSUS - Migrating from Windows Internal Database to SQL Server 2005
Миграция выполняется буквально в несколько шагов - ничего сложного:
1.Останавливаем службу "Update Services" на своем сервере WSUS
2.Заходим в SQL Server Management Studio на сервер баз данных SQL Server 2005 на котором "крутиться" в настоящий момент база WSUS. И делаем праой кнопкой на базе WSUS (скорее всего имя базы будет SUSDB) следующее Tasks -> Take Offline
3.Копируем файлы базы данных на сервер баз данных SQL Server 2008
4.На сервере баз данных SQL Server 2008 через SQL Server Management Studio (для 2008 своя оснастка, отличная от 2005) на корне заходим в Databases -> Attach и выбираем файл базы данных .mdf жмем OK, после чего база будет присоединена к серверу и будет в работе.
5.Теперь необходимо направить сервер WSUS на новый сервер баз данных SQL Server 2008. Для этого заходим на сервер WSUS (например по RDP), находим в реестре (regedit) следующую ветку:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup]
выбираем параметр:
SqlServerName, здесь ранне стояло имя алиаса DNS для подключения к SQL Server 2005, например: "db_wsus_susdb" и всё работало, теперь же указываем также имя DNS алиаса(DNS псевдонима) но с указанием имени инстанса уже: "db_wsus_susdb\cluster02sql2".
Естественно DNS алиас направляем на новый сервер баз данных SQL Server 2008.

Дело в том, что в моем случае был Active\Active кластер с двумя инстансами: один из которых назывался "cluster02sql2", а имя виртуаьлного узла кластера sql сервера было "cluster-02-sql2" на который, как раз и направили DNS алиас.

Возможно у кого-то зараработает и без указания имени DNS алиаса, но в рассматриваемой кластерной среде так не заработало, возможно дело в том, что SQL инстанс именованный - отличный от дефолтового и ещё отличается от имени витруального узла кластера.
Параметры:
"SqlAuthenticationMode"="WindowsAuthentication"
"SqlDatabaseName"="SUSDB"
"SqlUserName"=""
"SqlEncryptedPassword"=""
оставил без изменения.
6.Необходимо добавить учетную запись компьютера, на котором распологается WSUS сервис - "Update Services" на доступ к SQL Server 2008, для эого заходим через SQL Server Management Studio в корне оснастки Security -> на Logins жмем правой кнопкой и выбираем "New Login...", поскольку мы в находимся в доменной среде и безопасность сервера находиться в режиме Mixed mode, выбираем Windows authentication, в поле "Login Name" вводим имя компьютерного аккаунта, например, "WSUS-Server" и в конце добавляем знак $, т.е. должно получиться "WSUS-Server$", у меня тоже не получилось с первого раза, всё дело в том, что на базу master доступ компьютерным аккаунтам дается по-другому, что бы получилось - нужно указать нашу базу SUSDB. После добавления аккаунта предоставил ему роль на базу db_owner.
7.На сервере WSUS запускаем "Update Services", если все операции начиная с первой вы проделали очень быстро, то, возможно, ещё не очистился DNS кэш со старым значение DNS алиаса для разрешения этой проблемы, можно выполнить команду: ipconfig /flushdns, но лучше перезагрузить компьютер.