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

четверг, 23 августа 2018 г.

How to extend the timeout for services if they fail to start or stop

Problem:

Services cannot be started or stopped.

Solution:

In some environments, applications installed as Windows services may require more time to start or stop. Click on the links below to learn how to change the timeout for service applications in Windows.

A service is unable to start on its own and times out

To avoid the service startup problem (Fig. 1.), you can:
228-0
Fig. 1. A service does not start and times out.

How to delay the automatic start of a service application

If a service's start is delayed, this service attempts to start only if critical system services have already started. To configure your service this way, you need to:
  1. Run Windows Services manager (launch services.msc from the Start menu).
  2. Right-click on the service you would like to configure, and select Properties.
  3. On the General tab, change the Startup type to Automatic (Delayed Start), as shown in Fig. 2. for Exchange Sync.
228-2
Fig. 2. Selecting the startup type of a service.

How to increase the timeout value for the service startup

Additionally, you can change the timeout value for the service startup in the Windows registry:
  1. Launch Windows Registry Editor.
  2. Find the following registry subkey:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
  3. Right-click this key and select NewDWORD (32-bit) Value.
  4. A new value named New Value #1 appears on the right.
  5. Change the name of this new value to ServicesPipeTimeout.
  6. Right-click the ServicesPipeTimeout value you created, and choose Modify. The Edit DWORD Value window opens.
  7. Change Base to Decimal.
  8. In the Value data field, type the value (in milliseconds) of time allowed for the service to start, and click OK.
    Info
    In our test environment, we set the value (Fig. 3.) to 240000 ms (4 minutes), and this enabled the service to start correctly. It is permissible to set a higher value - it should not have any impact on performance.
    228-3
    Fig. 3. Setting a new timeout value.
  9. Finally, restart the machine.

A service does not stop

If the problem happens for the first time and you are not able to close the service from within Windows Services manager (services.msc) or Task Manager, you can kill the service using the taskkill command. See this Knowledge Base article for details.
If the problem occurs frequently, follow the steps below to extend the service closing timeout:
  1. Launch Windows Registry Editor.
  2. Locate this registry subkey:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
  3. Right-click this key and choose New > DWORD (32-bit) Value.
  4. A new value named New Value #1 appears in the right pane.
  5. Rename the new value to WaitToKillServiceTimeout.
  6. Right-click the value and select Modify. The Edit DWORD Value window pops up.
  7. Change Base to Decimal.
  8. In the Value data field, type the value (in milliseconds) of time allowed for the service to stop, and confirm by clicking OK.
    Info
    By default, Windows waits 20000 ms, so you might need to set a higher value.
  9. Finally, restart your machine.

понедельник, 12 июня 2017 г.

Windows и сброс прав доступа и владельца файлов

Источник

icacls.exe "E:\Inaccessible Folder" /reset /T
Вместо E:\Inaccessible Folder следует указать путь к каталогу, где необходимо сбросить старые разрешения.
В отдельных случаях перед запуском icacls может потребоваться утилита takeown:
takeown.exe /f "E:\" /r /d y
icacls.exe "E:\" /reset /T
После завершения работы утилиты все содержимое указанного каталога будет иметь стандартные права доступа вашей системы, он станет доступен для всех пользователей.

пятница, 2 июня 2017 г.

Замена контроллера домена. Перенос контроллера домена на новый компьютер.

Источник, спасибо автору.


UPD: Микрософт традиционно меняет привычный синаксис в командной строке, поэтому роли в кажлый версии Windows Server могут звучать по-разному. Они вообще теперь не fsmo называются а operation masters. Так вот, для корректных команд в консоли после fsmo maintenance напишите просто ? и он вам покажет доступные команды.

Подготовка серверов к повышению/понижению роли

Сама процедура создания резервного контроллера домена элементарна – мы просто запускаем на любом сервере сети мастер dcpromo. При помощи мастера dcpromo создаём контроллер домена в существующем домене. В результате проделанных манипуляций мы получаем развернутую службу каталогов AD на нашем дополнительном сервере (я буду называть его pserver, а основной контроллер - dcserver).
Дальше, если dcpromo сам не предложил – запускаем установку DNS сервера. Никаких настроек изменять не надо, зону создавать также не надо – она хранится в AD, и все записи автоматически реплицируются на резервный контроллер. Внимание – основная зона в DNS появится только после репликации, для ускорения которой сервер можно перезагрузить. В настройках TCP/IP сетевой карты резервного контроллера домена адресом первичного DNS сервера должен быть указан ip-адрес основного контроллер домена.
Теперь можно легко проверить работоспособность резервного контроллера домена pserver. Мы можем создать пользователя домена как на основном так и на резервном контроллере домена. Сразу после создания он появляется на дублирующем сервере, но где-то в течении минуты (пока происходит репликация) – он показан как отключенный, после чего начинает отображаться одинаково на обоих контроллерах.
На первый взгляд все действия по созданию исправной схемы взаимодействия нескольких контроллеров домена выполнены, и теперь, в случае выхода из строя «основного» контроллера домена, «резервные» контроллеры будут автоматически выполнять его функции. Однако, хотя разница между «основным» и «резервным» контроллерами домена чисто номинальная, «основной» контроллер домена имеет ряд особенностей (роли FSMO), о которых не стоит забывать. Таким образом, вышеприведенных операций для нормального функционирования службы каталогов при отказе «основного» контроллера домена не достаточно, и действия, которые надо произвести для грамотной передачи/захвата роли основного контроллера домена будут описаны ниже.

Немного теории

Нужно знать, что контроллеры домена Active Directory исполняют несколько видов ролей. Эти роли называются FSMO (Flexible single-master operations):
- Schema Master (Хозяин схемы) – роль отвечает за возможность изменения схемы – например разворачивания Exchange server или ISA server. Если владелец роли будет недоступен – схему существующего домена вы изменить не сможете;
- Domain Naming Master (Хозяин операции именования доменов) – роль необходима в том случае, если в вашем доменном лесу есть несколько доменов или поддоменов. Без неё не получится создавать и удалять домены в едином доменном лесу;
- Relative ID Master (Хозяин относительных идентификаторов) – отвечает за создание уникального ID для каждого объекта AD;
- Primary Domain Controller Emulator (Эмулятор основного контроллера домена) – именно он отвечает за работу с учётными записями пользователей и политику безопасности. Отсутствие связи с ним позволяет входить на рабочие станции со старым паролем, который нельзя сменить, если контроллер домена «упал»;
- Infrastructure Master (Хозяин Инфраструктуры) – роль отвечает за передачу информации об объектах AD прочим контроллерам домена в рамках всего леса.
Об этих ролях достаточно подробно написано во многих базах знаний, но основную роль практически всегда забывают – это роль Global Catalog (Глобального Каталога). По факту этот каталог просто запускает LDAP сервис на порту 3268, но именно его недоступность не позволит доменным пользователям входить в систему. Что примечательно – роль глобального каталога могут иметь все контроллеры домена одновременно.

Фактически можно сделать вывод – если у вас примитивный домен на 30-50 машин, без расширенной инфраструктуры, не включающий в себя поддомены - то отсутствие доступа к владельцу/владельцам первых двух ролей вы можете не заметить. Кроме того, мне несколько раз попадались организации, работающие больше года вообще без контроллера домена, но в доменной инфраструктуре. То есть все права были розданы давно, при работающем контроллере домена, и не нуждались в изменении, пароли пользователи себе не меняли и спокойно работали.


Определение текущих владельцев ролей fsmo.

Уточняю - мы грамотно хотим заменить контроллер домена, не потеряв никаких его возможностей. В том случае, если в домене два или более контроллеров, нам необходимо выяснить кто является обладателем каждой из ролей fsmo. Это достаточно просто сделать, использовав следующие команды:

dsquery server –hasfsmo schema
dsquery server – hasfsmo name
dsquery server – hasfsmo rid
dsquery server – hasfsmo pdc
dsquery server – hasfsmo infr
dsquery server –forest -isgc


Каждая из команд выводит нам информацию о том, кто является владельцем запрашиваемой роли (рис.1). В нашем случае владелец всех ролей – основной контроллер домена dcserver.


Добровольная передача ролей fsmo при помощи консолей Active Directory.

Вся информация, необходимая для передачи роли основного контроллера домена у нас есть. Приступаем: для начала нужно убедиться в том, что наша учётная запись входит в группы «Администраторы домена», «Администраторы схемы» и «Администраторы предприятия», а затем приступить к традиционному методу передачи ролей fsmo – управлением доменом через консоли Active Directory.

Для передачи роли “хозяина именования домена” выполняем следующие шаги:
- открываем «Active Directory Домены и Доверие» на том контроллере домена, с которого мы хотим передать роль. Если мы работаем с AD на том контроллере домена, которому мы хотим передать роль, то следующий пункт пропускаем;
- щёлкаем правой кнопкой мыши на значке Active Directory — домены и доверие и выбираем команду Подключение к контроллеру домена. Выбираем тот контроллер домена, которому хотим передать роль;
- щелкаем правой кнопкой мыши компонент Active Directory — домены и доверие и выбираем команду Хозяева операций;
- в диалоговом окне Изменение хозяина операций нажимаем кнопку Изменить (рис. 2).
- после утвердительного ответа на всплывающий запрос получаем успешно переданную роль.

Аналогичным образом, при помощи консоли «Active Directory — пользователи и компьютеры» можно передать роли «хозяин RID», «основной контроллер домена» и «хозяин инфраструктуры».

Для передачи роли «хозяина схемы» необходимо предварительно зарегистрировать в системе библиотеку управления схемой Active Directory:

regsvr32 schmmgmt.dll

Далее в консоль mmc необходимо добавить оснастку «Схема Active Directory», в которой, аналогично предыдущим пунктам, можно изменить владельца роли.

После того как все роли переданы остаётся разобраться с оставшейся опцией – хранителем глобального каталога. Заходим в Active Directory: «Сайты и Службы», сайт по умолчанию, сервера, находим контроллер домена, ставший основным, и в свойствах его NTDS settings ставим галочку напротив global catalog. (рис. 3)

Итог – мы поменяли хозяев ролей для нашего домена. Кому нужно окончательно избавиться от старого контроллера домена – понижаем его до рядового сервера. Однако простота проделанных действий окупается тем, что их выполнение в ряде ситуаций невозможно, или оканчивается ошибкой. В этих случаях нам поможет ntdsutil.exe.


Добровольная передача ролей fsmo при помощи консолей ntdsutil.exe.

На случай, если передача ролей fsmo при помощи консолей AD не удалась, Microsoft создал очень удобную утилиту – ntdsutil.exe – программа обслуживания каталога Active Directory. Этот инструмент позволяет выполнять чрезвычайно полезные действия – вплоть до восстановления всей базы данных AD из резервной копии, которую эта утилита сама создала во время последнего изменения в AD. Со всеми её возможностями можно ознакомиться в базе знаний Microsoft (Код статьи: 255504). В данном случае мы говорим о том, что утилита ntdsutil.exe позволяет как передавать роли, так и «отбирать» их.
Если мы хотим передать роль от существующего «основного» контроллера домена к «резервному» – мы заходим в систему на «основной» контроллер и начинаем передавать роли (команда transfer).
Если у нас по каким-то причинам отсутствует основной контролер домена, или мы не можем войти под административной учетной записью – мы входим в систему на резервный контроллер домена и начинаем «отбирать» роли (команда seize).

Итак первый случай – основной контроллер домена существует и функционирует нормально. Тогда мы заходим на основной контроллер домена и набираем следующие команды:

ntdsutil.exe
roles
connections
connect to server имя_сервера (того кому хотим отдать роль)
q


Если выскакивают ошибки – нужно проверить связь с тем контроллером домена, к которому мы пытаемся подключиться. Если ошибок нет – значит мы успешно подключились к указанному контроллеру домена с правами того пользователя, от имени которого вводим команды.
Полный список команд доступен после запроса fsmo maintenance стандартным знаком ? . Пришла пора передавать роли. Я сходу, не задумываясь, решил передавать роли в том порядке, в каком они указаны в инструкции к ntdsutil и пришёл к тому, что не смог передать роль хозяина инфраструктуры. Мне, в ответ на запрос о передаче роли, возвращалась ошибка: «невозможно связаться с текущим владельцем роли fsmo». Я долго искал информацию в сети и обнаружил, что большинство людей дошедших до этапа передачи ролей сталкиваются с этой ошибкой. Часть из них пытается отобрать эту роль принудительно (не выходит), часть оставляет всё как есть – и благополучно живёт без этой роли.
Я же путём проб и ошибок выяснил, что при передаче ролей в данном порядке гарантируется корректное завершение всех шагов:
- хозяин идентификаторов;
- хозяин схемы;
- хозяин именования;
- хозяин инфраструктуры;
- контроллер домена;

После успешного подключения к серверу мы получаем приглашение к управлению ролями (fsmo maintenance), и можем начать передавать роли :
- transfer domain naming master
- transfer infrastructure master
- transfer rid master
- transfer schema master
- transfer pdc master


После выполнения каждой команды должен выходить запрос о том – действительно ли мы хотим передать указанную роль указанному серверу. Результат удачного выполнения команды показан на рис.4.

Роль хранителя глобального каталога передаётся способом, описанным в предыдущем разделе.


Принудительное присваивание ролей fsmo при помощи ntdsutil.exe.

Второй случай – мы хотим присвоить нашему резервному контроллеру домена роль основного. В этом случае ничего не меняется – единственная разница в том, что мы проводим все операции, с использованием команды seize, но уже на том сервере, которому хотим передать роли для присвоения роли.

seize domain naming master
seize infrastructure master
seize rid master
seize schema master
seize pdc


Обратите внимание – если вы отобрали роль у контроллера домена, отсутствующего в данный момент, то при его появлении в сети контроллеры начнут конфликтовать, и проблем в функционировании домена вам не избежать.


Работа над ошибками.

Самое главное, о чём не следует забывать – новый основной контроллер домена сам себе настройки TCP/IP не исправит: ему адресом первичного DNS сервера теперь желательно (а если старый контроллер домена + DNS сервер будут отсутствовать, то обязательно) указать 127.0.0.1 .
При этом если у вас в сети есть DHCP сервер, то нужно заставить его выдавать адресом первичного DNS сервера ip вашего нового сервера, если DHCP нет – пройтись по всем машинам и прописать им этот первичный DNS вручную. Как вариант, можно назначить новому контроллеру домена тот же ip что был у старого.

Теперь необходимо проверить как всё работает и избавиться от основных ошибок. Для этого я предлагаю на обоих контроллерах стереть все события с сохранением журналов в папку с прочими резервными копиями и перезагрузить все сервера.
После их включения внимательно анализируем все журналы событий на факт появления предупреждений и ошибок.

Самым распространённым предупреждением, после передачи ролей fsmo, является сообщение о том, что «msdtc не может корректно обработать произошедшее повышение/понижение роли контроллера домена».
Исправляется просто: в меню «Администрирование» находим «Службы
компонентов». Там раскрываем «Службы компонентов», «Компьютеры», открываем свойства раздела "Мой компьютер", ищем там "MS DTC" и жмем там "Настройки безопасности". Там разрешаем "Доступ к сети DTC" и давим ОК. Служба будет перезапущена и предупреждение исчезнет.

Примером ошибки может служить сообщение о том, что основная DNS зона не может быть загружена, либо DNS сервер не видит контроллер домена.
Разобраться в проблемах функционирования домена можно при помощи утилиты (рис. 5):

dcdiag

Установить эту утилиту можно с оригинального диска Windows 2003 из папки /support/tools. Утилита позволяет проверить работоспособность всех служб контроллера домена, каждый её этап должен оканчиваться словами successfully passed. Если у вас выходит failed (чаще всего это тесты connection или systemlog) то ошибку можно попробовать вылечить в автоматическом режиме:

dcdiag /v /fix

Как правило, все ошибки, связанные с DNS должны пропасть. Если нет – пользуемся утилитой проверки состояния всех сетевых служб:

netdiag

И её полезным инструментом устранения ошибок:

netdiag /v /fix

Если и после этого остаются ошибки связанные с DNS – проще всего удалить из него все зоны и создать вручную. Это довольно просто – главное создать основную зону по имени домена, хранящуюся в Active Directory и реплицируемую на все контроллеры домена в сети.
Более подробную информацию об ошибках DNS даст ещё одна команда:

dcdiag /test:dns

По окончанию проделанных работ у меня ушло ещё где-то 30 минут на выяснение причины появления ряда предупреждений – я разобрался с синхронизацией времени, архивацией глобального каталога и прочими вещами, до которых раньше не доходили руки. Теперь всё работает как часы – самое главное не забудьте завести резервный контроллер домена, если вы хотите удалить старый контроллер домена из сети.




Указанные ресурсы:

[1] http://technet.microsoft.com
[2] http://www.petri.co.il/
[3] http://support.microsoft.com

Упал контроллер домена — Практикум по устранению неполадок.

Источник, спасибо автору.

В данной статье описана последовательность действий системного администратора в случае выхода из строя одного из контроллеров домена. Однако необходимо учесть специфику подачи материала — предлагается сначала поднять домен с двумя контроллерам, а потом  «вручную» переустановить винду на одном из контроллеров. Итак цитирую прямо из учебного руководства:
Вы — сетевой администратор в компании Contoso Pharmaceuticals. Вследствие недавнего аппаратного сбоя вышел из строя один из контроллеров домена — Server2. Ремонт контроллера не представляется возможным, а свежей копии нет. Одновременно в журнале службы каталогов в утутите Просмотр событий (Event Viewer) на другом контроллере регистрируется множество ошибок репликации. Ваша задача — установить новый сервер взамен Server2. Попытка настроить новый контроллер домена под именем Server2 не приносит успеха — появляется сообщение о том, что Server2 уже существует. Эту проблему вам предстоит разрешить.
Для начала настройте Server2 в роли контроллера домена. Затем, допустив, что на сервере Server2  произошла неисправимая ошибка, переустановите на нем операционную систему, но не понижайте его статус до рядового сервера.
  1. Установите на сервере Server2 службу Active Directory. Сделать это можно вручную или с помощью файла ответов. Чтобы провести установку с привлечением файла ответов, запустите команду dcpromo /answer:d:\answerdc2.txt (путь и имя файла ответов измените на своё).
  2. Обеспечте возможность завершения установки  Active Directory на Server2. Теперь с помощью установочного диска Windows 2003 Enterprise Server вам предстоит переустановить Server2. При этом можно обратиться к файлу необслуживаемой установки.
  3. Теперь поместите в дисковод установочный диск и дискету в флоппик (если используете файл необслуживаемой установки Winnt.sif). Если не используете файл отвтеов, то переходите к ручной установке, в ходе которой вам предстоит выставить  подходящие в условиях вашей сети настройки.

    Примечание: Вне зависимости от  выбранного метода, завершать установку Server2 пока не нужно. Вы должны запустить процесс, дойти до этапа ввода ключа продукта, а затем перейти к решению задач, касающихся Server1 (именно на это направленны следующие шаги). Перед повторным присоединением к домену нужно будет удалить из Active Directory все без исключения  ссылки на Server2.
  4. Зарегистрируйтесь на Server1, указав имя ил пароль администратора домена.
  5. Откройте командную строку. Введите ntdsutil и нажмите ввод. На экране появится коммандная строка утилиты Ntdsutil.
  6. Введите metadata cleanup и нажмите Энтер. Появится приглашение на очистку метаданных.
  7. Введите connections и нажмите ввод. В результате будет выведено приглашение на подключение к серверу.
  8. Введите connect to server server1 и нажмите ввод (вместо server1 в вашем случае может быть другое имя исправного контроллера домена).
  9. Введите quit и нажмите ввод. Вновь появится приглашение на очистку метаданных.
  10. Введите select operation target.
  11. Введите list domains. В выведенном списке должен присутствовать всего один домен под нулевым номером (0). В противном случае запомните, каким объектом и числом представлен домен contoso.com (или ваш домен), и во время выполнения следующего действия введите это число.
  12. Введите select domain 0 (или ваше число, см. пп.11) и нажмите ввод.
  13. Введите list sites и нажмите ввод. В списке должен быть только один сайт под нулевым номером. В противном случае запомните номер и объект, которым представлен ваш сайт, и при выполнении следующего шага введите это число.
  14. Введите select site 0 и нажмите ввод.
  15. Введите list servers in sites и нажмите ввод. Серверов в списке должно быть два. Запомните, каким числом представлен сервер Server2 — скорее всего, единицей (1). В противном случае во время выполнения следующего шага вам придется заменить единицу (1) фактическим числом Server2 (вышедшего из строя контроллера домена).
  16. Введите select server 1 (или другой номер) и нажмите ввод.
  17. Введите quit и нажмите ввод.  В результате на экране в очередной раз появится приглашение на очистку метаданных.
  18. Введите  remove selected server и нажмите клавишу ввод. При появлении следующего приглашения вы должны тщательно  ознакомиться с его содержанием и подтвердить свое намеренье удалить Server2. Щелкните Да.
  19. Введите quit и дважды нажмите ввод. В результате  приглашения на очистку метаданных и ввод команд утилиты Ntdsutil будут закрыты. Чтобы закрыть командную строку, введите quit еще раз.
  20. Итак вы удалили объект параметров NTDS. Тем не менее, свидетельства существования Server2 в базе данных еще остаются. Удалить их можно  с помощью консоли DNS и редактора ADSIEdit.
  21. Откройте консоль DNS. Последовательно раскрывая элементы иерархической структуры, найдите объект домена contoso.com (или вашего домена) и щелкните на нем.
  22. В правой секции окна найдите запись хоста (А; она должна совпадать с родительской папкой) с IP-адресом сервера Server2. Щелкнув на ней правой кнопкой мыши, выберите пункт Удалить. При появлении окна подтверждения  щелкните кнопку ДА.
  23. В той же секции окна щелкните левой кнопкой на записи хоста Server2 и выберите пункт Удалить. Нажатием кнопки ДА подтвердите  намерение удалить запись. Теперь запись DNS, соответствующая серверу Server2, удалена. Закройте консоль DNS.
  24. Выберите Пуск\Выполнить, введите ADSIEdit.msc и нажмите клавишу ввод. На экране появится консоль ADSIEdit.
  25. Раскройте структуру Domain\DC=contoso,DC=com\OU=Domain Controllers. Щелкнув на записи объекта CN=Server2, нажмите клавишу Delete. В окне подтверждения щелкните ДА. Таким образом, объекта Server2 в контексте именования домена на Active Directory больше нет.
  26. Раскройте структуру Configuration\CN=Configuration,DC=contoso, DC=com\CN=Sites\CN=Default-First-Site-Name\CN=Servers. Щелкнув на записи объекта  CN=Server2, нажмите Delete. В окне подтверждение нажмите ДА. Теперь в контексте именования для конфигураций нет объекта Server2. Закройте консоль ADSIEdit.
Итак, вы удалили с домена Active Directory, размещенного на сервере Server1, все ссылки на Server2. Именно так следует  чистить Active Directory после потери любого контроллера домена. Теперь нужно завершить установку Server2, а в последвствии — присоединить его в качестве рядового домена или контроллера домена  к своему домену.

среда, 25 мая 2016 г.

Adjust for best performance via group policy (Windows desktop settings)

Add followed gegistry keys to your group policy.


[HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects]
;0 = Let Windows choose what's best for my computer
;1 = Adjust for best appearance
;2 = Adjust for best performance
;3 = Custom
"VisualFXSetting"=dword:00000003
[HKCU\Software\Microsoft\Windows\CurrentVersion\ThemeManager]
;Use visual styles on windows and buttons (0=off 1=on)
"ThemeActive"="1"
[HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
;Use common tasks in folders (0=off 1=on)
"WebView"=dword:00000001
;Show translucent selection rectangle (0=off 1=on)
"ListviewAlphaSelect"=dword:00000001
;Use drop shadows for icon labels on the desktop (0=off 1=on)
"ListviewShadow"=dword:00000001
;Use a background image for each folder type (0=off 1=on)
"ListviewWatermark"=dword:00000001
;Slide taskbar buttons (0=off 1=on)
"TaskbarAnimations"=dword:00000001
[HKCU\Control Panel\Desktop\WindowMetrics]
;Animate windows when minimizing and maximizing (0=off 1=on)
"MinAnimate"="1"
[HKCU\Control Panel\Desktop]
;Show window contents while dragging (0=off 1=on)
"DragFullWindows"="1"
;Smooth edges of screen fonts (0=off 2=on)
"FontSmoothing"="2"
;Smooth scroll list boxes
;Slide open combo boxes
;Fade or slide menus into view
;Show shadows under mouse pointer
;Fade or slide tooltips into view
;Fade out menu items after clicking
;Show shadows under menus
;(All off = 90,12,01,80   All on = 9e,3e,05,80)
"UserPreferencesMask"=hex:9e,3e,05,80

среда, 16 декабря 2015 г.

ForestDNSZones or DomainDNSZones FSMO says “The role owner attribute could not be read”

Source

This came up recently at a customer site. I was looking for the script that fixes this (remembering that the site the fix belongs to is attached to an article that has nothing to do with the issue, but it still works great).
What I ran into was a TON of really horrible advice out there on the forums. Please please please – if you get this error don’t follow any of the advice you read unless the article mentions running a script that is lovingly called “fixfsmo.vbs”
What you’re probably seeing in LDP or ADSIEdit in the CN=infrastructure,DC=DomainDNSZones,DC=MyDomainName,DC=Whatever (that or ForestDNSZones) is an entry for FSMO that points to a retired or missing DC. Sorta’ like this:
cn=ntds settings\0adel:f655f307-02gb-4923-b7be-fc5e2042b4c8,cn={MyOldDCName}\0adel:88c9073f-6964-4ab3-98f0-d30dcd12a908,cn=servers,cn={SiteName},cn=sites,cn=configuration,dc={MyDomainName},dc={Whatever}
What has happened is the DC who held the FSMO Role Holder for your DomainDNSZones or your ForestDNSZones (or both) application partition isn’t there anymore. Someone deleted it, decommissioned it, basically it failed somewhere along the line but the DC owned one or more of your AD Integrated DNS Zones. The deleted DC can be seen in the mess above after cn=___ and in most cases this means someone had to do metadata cleanup and forcibly removed the server from AD.
So you might be asking, “uh, Chris? Aren’t there just 5 FSMO role holders?” Well, see for yourself:
image
Without getting into a huge discussion about naming contexts or application partitions – just know that if your domain uses application partitions (likely) each of these will have a FSMO. Like your other FSMO role holders you may need to seize the role. Sadly, you can’t do this with NTDSUTIL. You can SEE them (see below) but you can’t do anything with them:
image
In the list of options above, note that there isn’t a Seize or Transfer option for the application partitions. You can select them or view them:
image
But that’s it. There is a way to change the owner when you’re in this state however, keep reading.
So again, without going into a lot of depth on naming contexts and Application Partitions (I actually have another post that deals with this which will be published early next month dealing with DNS and App Partitions) we will move on for now. The bottom line is, you have a partition in your Active Directory database with no owner. We need to fix this, and we can’t use NTDSUTIL to get there.
The NORMAL way to go about changing FSMO role holders for the applications partitions is to use an editor like ADSIEdit or LDP. As shown in the first image above, you see that this region is editable. BUT as you’ve probably already noticed, this will error out “The role owner attribute could not be read” because there’s nobody to talk to (the value owner is gone).
So you need to force this change to happen. This is described in KB949257, unfortunately this article’s title is talking about issues doing an adprep /rodcprep – and a lot of people miss it or skip over it when in actuality it has exactly the script you need.
What you need to do is go to the DC you want to hold the role (I usually use the PDCE, but not for any particular reason). Now create a new file and call it fixfsmo.vbs:
image
Then dump this text into it:
const ADS_NAME_INITTYPE_GC = 3
const ADS_NAME_TYPE_1779 = 1
const ADS_NAME_TYPE_CANONICAL = 2
set inArgs = WScript.Arguments
if (inArgs.Count = 1) then
    ' Assume the command line argument is the NDNC (in DN form) to use.
    NdncDN = inArgs(0)
Else
    Wscript.StdOut.Write "usage: cscript fixfsmo.vbs NdncDN"
End if
if (NdncDN <> "") then
    ' Convert the DN form of the NDNC into DNS dotted form.
    Set objTranslator = CreateObject("NameTranslate")
    objTranslator.Init ADS_NAME_INITTYPE_GC, ""
    objTranslator.Set ADS_NAME_TYPE_1779, NdncDN
    strDomainDNS = objTranslator.Get(ADS_NAME_TYPE_CANONICAL)
    strDomainDNS = Left(strDomainDNS, len(strDomainDNS)-1)
    
    Wscript.Echo "DNS name: " & strDomainDNS
    ' Find a domain controller that hosts this NDNC and that is online.
    set objRootDSE = GetObject("LDAP://" & strDomainDNS & "/RootDSE")
    strDnsHostName = objRootDSE.Get("dnsHostName")
    strDsServiceName = objRootDSE.Get("dsServiceName")
    Wscript.Echo "Using DC " & strDnsHostName
    ' Get the current infrastructure fsmo.
    strInfraDN = "CN=Infrastructure," & NdncDN
    set objInfra = GetObject("LDAP://" & strInfraDN)
    Wscript.Echo "infra fsmo is " & objInfra.fsmoroleowner
    ' If the current fsmo holder is deleted, set the fsmo holder to this domain controller.
    if (InStr(objInfra.fsmoroleowner, "\0ADEL:") > 0) then
        ' Set the fsmo holder to this domain controller.
        objInfra.Put "fSMORoleOwner",  strDsServiceName
        objInfra.SetInfo
        ' Read the fsmo holder back.
        set objInfra = GetObject("LDAP://" & strInfraDN)
        Wscript.Echo "infra fsmo changed to:" & objInfra.fsmoroleowner
    End if
End if

And run the script from an elevated command prompt. You should now be able (through NTDSUTIL as shown above or through ADSIEdit) be able to see that the owner has changed to a valid DC.
For clarification, you should only run this script if the DC that is listed is no longer available and you can’t change it manually through ADSIEdit.

UPDATE FROM COMMENTS:
"@ANC I got the same error when I used the script incorrectly. This worked for me.
cscript fixfsmo.vbs dc=forestdnszones,dc=mydomain,dc=org
then for domain zone:
cscript fixfsmo.vbs dc=domaindnszones,dc=mydomain,dc=org

I commented out the IF statement at the bottom as I had cleared the fsmoroleower value manually."

пятница, 4 декабря 2015 г.

Настройка Windows Server 2003/2008 для SQL Server 2008

Источник, автору моя благодарность.


Полезно и интересноЭта статья – вольная интерпретация рекомендаций: Microsoft, IBM, HP, Dell, QLogic, LSI, EMC, ACER, Bull, Fujitsu, Hitachi, NEC и Unisys. 

Материал подготовил Александр Гладченко.

Обновление установки Windows

После установки Windows Server 2008 x64, установите последний сервисный пакет обновлений (Service Pack), обязательно установите выходившие после сервисного пакета исправления безопасности и последние версии драйверов и аппаратных прошивок. 

Настройка файла подкачки Windows

Размер файла подкачки Windows в случае размещения на сервере только SQL Server не играет такой важной роли, как в типовых сценариях. SQL Server старается избегать листания. Размер файла подкачки можно выбрать небольшим, чтобы его было достаточно для формирования мини-дампов. Если сервер также обслуживает приложения, которые нуждаются в файле подкачки, размер его стоит выбирать в полтора раза больше, чем размер физической памяти сервера, но не более 50Гб. В случае монопольного владения ресурсами SQL Server, размещать файл подкачки можно на том же диске, где базируется операционная система. Минимальная активность работы с файлом подкачки не будет создавать конкуренцию другим задачам. В Windows Server 2003 имеется несколько предлагаемых вариантов настройки файла подкачки, он может настраиваться жёстко, может отсутствовать вообще или его размер будет управляться операционной системой. В последнем случае, Windows создаст файл подкачки, размер которого на один Мегабайт будет превышать размер физической памяти сервера. Такой выбор обусловлен тем, что ровно столько места необходимо для создания полного дампа памяти после аварии с выдачей “синего экрана”. Если вас такой дамп не интересует, можно взять управление размером файла подкачки в свои руки.

Настройка размера системных журналов

Размеры системных журналов стоит выбирать такими, чтобы их открытие для анализа или копирование по сети выполнялось за приемлемое время.

Настройка локальных политик Windows

Ограничьте размер системных дампов физической памяти размером 64 Гб, большой размер дампа непрактичен с точки зрения отладки. Можно оптимизировать управление памятью и существенно сократить листания с помощью установки локальной политики для пользователя, от имени которого запускается служба SQL Server. Политика называется “Lock pages in memory“, располагается она в узле “User rights assignment” локальных политик. Оболочку менеджера политик можно вызвать из командной строки, набрав там gpedit.msc и нажав ввод.
Ещё одной полезной локальной пользовательской политикой является мгновенная инициализация файла данных: “Выполнение задач обслуживания тома” (Perform Volume Maintenance). Для файлов журналов эта политика неприменима. Однако, включение этой политики хоть и позволяет сделать процесс создания файла данных, его приращение или восстановление практически мгновенным, оно чревато повышением рисков безопасности, т.к. инициализация не будет сопровождаться перезаписью новых файлов или приращиваемых к ним областей нулями. Т.е. существует риск, что расположенная в этих областях информация будет доступна для чтения и к удаленной ранее информации смогут получить доступ неавторизированные участники. Дополнительную информацию по безопасности этой операции можно найти в главе SQL Server Books Online: “Инициализация файлов базы данных“. Одной из альтернатив этому методу, также очень быстро позволяющей выполнять задачи создания и приращения файлов, является размещение файлов баз данных на “сырых” разделах (RAW).

Настройка Панели Управления Windows

Чтобы исключить снижение производительности в режиме энергосбережения, в оснастке “Электропитание” (Power Options) нужно выбрать режим “Высокая производительность” (High Performance). Стоит также убедиться, что сервер никогда не будет переключаться в спящий режим.
На закладке “Визуальные эффекты” можно отключить расходование процессорного времени на некритичные для работы сервера эффекты, выбрав режим “Обеспечить наилучшее быстродействие” (Adjust for best performance).

Настройка конфигурации системы

Отключите контроль учётных записей UAC. Для этого нажмите кнопку “Пуск” (Start), в списке “Программы” (All Programs) перейдите к папке “Администрирование” (Administrative Tools) и запустите утилиту “Конфигурация системы” (System Configuration). Отключить UAC можно на закладке “Сервис” (Tools), выбрав из списка средств задачу: “Отключите контроль учётных записей UAC”. Для применения изменений необходима перезагрузка системы.

Настройка кэширования ввода-вывода

Для включения кэширования операционной системой операций ввода-вывода логических дисков воспользуйтесь оснасткой Disk Management или Device Manager, перейдя в ней в узел Disk Drives. Для каждого настраиваемого устройства логического диска нужно выбрать Свойства (Properties) и перейти на закладку Policies. Для индивидуальной настройки дисков лучше подходит оснастка Disk Management, там настройки выполняются из свойств дисков, которые вызываются в графической, нижней части окна оснастки. Включение чекбокса “Enable write caching on the disk” разрешает кэширование записи на диск. После пометки этого чекбокса становится доступен для пометки второй чекбокс: “Enable advanced performance“. Включение обеих чекбоксов не только разрешает кэширование, но и заставляет операционную систему изымать из запросов ввода-вывода команды прямой записи на диск и сброса дискового кэша. Не рекомендуется включать эти чекбоксы если аппаратные кэши не имеют защиты от потери электропитания.
Если логический диск представлен внешним дисковым массивом, который оснащён аппаратным кэшем с батарейкой, можно не помечать второй чекбокс: “Enable advanced performance”. Однако, пометка этого чекбокса может повысить производительность записи в журнал транзакций.
Для вступления в силу изменений настроек кэша дисков перезагрузки сервера не требуется.

Настройка параметров сетевых плат

В окне Local Area Connection Properties мастера Network Connections панели управления Windows можно вызвать окно параметров сетевой платы, если нажать кнопку Configure. В этом окне на закладке Advanced перечислены несколько параметров, некоторые из них могут существенно влиять на производительность обмена данными по сети.
Link Speed and Duplex
Лучшим решением зачастую является согласованный выбор полнодуплексного режима связи в свойствах сетевой платы и в свойствах порта сетевого коммутатора/концентратора. Это не означает, что выбор автоматической подстройки там и тут будет работать хуже, просто история помнит такие случаи…
Существует ещё ряд распространённых параметров, настройка которых может помочь поднять производительность сетевого интерфейса (например, Receive Buffers, Coalesce Buffers, Offload features и т.п.). Чтобы выдрать верные значения для подобных параметров, обратитесь к документации производителя сетевой платы.
Для того чтобы исключить возможность отключения сетевого интерфейса в целях оптимизации энергопотребления сервера, стоит на закладке Power Management убрать пометку чекбокса “Allow the computer to turn off this device to save power“.

Отключение неиспользуемых протоколов

Для того чтобы убрать незначительную дополнительную нагрузку, создаваемую для обслуживания неиспользуемых сетевых протоколов, предлагается отключить или деинсталлировать такие протоколы. Например, первым кандидатом на отключение является TCP/IPv6, в силу пока ещё своей малой распространённости. Сделать это можно в окне Local Area Connection Properties мастера Network Connections панели управления Windows.
SQL Server также использует по умолчанию несколько протоколов, отключить лишние из них позволяет оснастка SQL Server Configuration Manager, в которой протоколы перечислены в узле “Сетевая конфигурация SQL Server”.
В большинстве случаев и в свойствах сетевого интерфейса и в протоколах SQL Server достаточно ограничится использованием протокола TCP/IPv4.
Если же требуется поддерживать несколько протоколов, стоит задать приоритеты использования протоколов и их провайдеров в окне Advanced Settings мастера Network Connections.

Настройка антивирусного программного обеспечения

В тех случаях, когда операционная среда или бизнес – требования вынуждают устанавливать на обслуживающем службы SQL Server сервере антивирусное программное обеспечение, настраивать антивирусное ПО нужно так, чтобы обновление вирусных сигнатур и сканирование системы происходило во время низкой активности SQL Server.
Необходимо настроить исключение сканирования файлов баз данных, журналов транзакций и резервных копий, которые типично имеют разрешения: mdf, ldf, ndf, bak и trn. Это позволит предотвратить повреждение этих файлов при попытке со стороны SQL Server их открытия, когда они уже открыты для проверки антивирусным ПО. Кроме того, необходимо принять меры для защиты каталогов полнотекстового поиска и содержащих данные Analysis Services от повреждений, связанных с активностью антивирусного программного обеспечения. Исключите также папку журналов SQL Server (MSSQL\Log), журнал ошибок открыт постоянно и в него может выводиться много событий. Если антивирусное ПО планируется использовать совместно с SQL Server работающем в кластере, нужно исключить сканирование кворум – диска и каталога: “c:\Windows\Cluster”. Для получения более подробной информации о требованиях к настройкам антивирусного ПО обратитесь к статье базы знаний Майкрософт: Guidelines for choosing antivirus software to run on the computers that are running SQL Server.
Во избежание вмешательства в работу служб SQL Server и для предотвращения увеличения времени их запуска из-за сканирования антивирусным ПО, рекомендуется исключить из проверки службы SQL Server. Наиболее распространенными в использовании являются службы: sqlservr.exe, sqlagent.exe, sqlbrowser.exe и sqlwriter.exe

Управление памятью в SQL Server

SQL Server, при необходимости, старается заполучить всю доступную ему оперативную память компьютера. Если установлено несколько экземпляров SQL Server, вероятна конкуренция за ресурсы памяти между менеджерами динамической памяти каждого экземпляра. До появления в SQL Server 2008 средств регулировки ресурсов, единственной возможностью снижения конкуренции за память между разными экземплярами была установка в глобальной конфигурации экземпляра SQL Server ограничений для максимального и минимального объемов используемой физической памяти. Кроме того, хорошей практикой считается оставлять не менее 10% оперативной памяти для нужд операционной системы.

Настройка параметров глобальной конфигурации SQL Server

affinity I/O mask
Этот параметр глобальной конфигурации позволяет изолировать обслуживание ввода-вывода данного экземпляра SQL Server одним или несколькими ядрами процессоров. Привязка ввода-вывода позволяет закрепить за вводом-выводом фиксированное число планировщиков. По умолчанию и в большинстве случаев маску привязки процессоров к вводу-выводу устанавливают в ноль, разрешая SQLOS самой управлять подобной привязкой. Чаще всего это позволяет получить максимальную производительность, однако, для некоторых типов рабочей нагрузки (которым характерны высокие нормы ввода-вывода), производительность может быть выше, если жёстко привязать ввод-вывод к одному или более ядру. Например, можно выделить одно ядро для ввода-вывода, как это показано ниже, в примере сценария для 16-ти ядерного сервера:
exec sp_configure ‘affinity mask’,0xFFFE
exec sp_configure ‘affinity I/O mask’,0x0001
Не обязательно для ввода-вывода выделять самое первое по порядку ядро. Это может быть ядро из того NUMA-узла, в домене близости которого находится адаптер ввода-вывода.
network packet size
Следующим параметром глобальной конфигурации, изменение которого может в некоторых случаях способствовать повышению производительности приложений баз данных, является “network packet size (B)”. Увеличение размера сетевого пакета до 8192 Байт может позволить добиться выигрыша за счёт лучшего выравнивания размера пакета с размером страницы SQL Server, которая равна 8 КБ. Однако, следует учитывать, что значение этого параметра по умолчанию (4096Б), является лучшим для большинства приложений. Только тестирование позволит выбрать для этого параметра оптимальную установку.

Настройка ключей системного реестра Windows

Важно! Эта глава содержит сведения об изменении реестра. Перед изменением реестра необходимо создать его резервную копию. Убедитесь в том, что знаете, как восстановить реестр в случае возникновения проблемы. Дополнительные сведения о создании резервной копии, восстановлении и изменении реестра см. в следующей статье базы знаний Майкрософт: Сведения о реестре Windows для опытных пользователей.
UseLargePages
Включение поддержки больших страниц может оказаться полезным для тех систем с SQL Server x64, которые оснащение большим объёмом оперативной памяти. Большие страницы способствуют повышению производительности за счёт увеличения TLB буфера процессора. Большие страницы могут использоваться для буферного пула и для кодовых страниц SQL Server. Для включения больших страниц на уровне SQL Server нужно задать флаг трассировки -T834 (это можно сделать через стартовые параметры). Кроме того, следует добавить ключ системного реестра. Содержимое reg-файла для добавления показано ниже:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sqlservr.exe]
“UseLargePages”=dword:00000001
Для вступления изменений в силу потребуется перезагрузка системы.
Если поддержка больших страниц включается для Windows 2008 R2, нужно учесть информацию из следующей статьи: After you enable large pages for a process in Windows 7 or in Windows Server 2008 R2, the process stops responding intermittently
Поддержка больших страниц включается автоматически, если выполняются перечисленные ниже условия, подробности в статье: SQL Server and Large Pages Explained….
  • SQL Server Enterprise Edition
  • У сервера должно быть больше 8Гб оперативной памяти
  • Привилегия “Lock Pages in Memory” должна быть дозволена локальной политикой для пользователя, в контексте которого запускается служба MSSQLServer.
LargeSystemCache/Size и IdleFrom0Delay
Установив значение LargeSystemCache в 0, тем самым устанавливается стандартный размер кэша файловой системы, который равен приблизительно 8 Мб, максимальный размер кэша файловой системы не будет превышать 512 Мб. Эта установка рекомендуется для таких программ, которые осуществляют кэширование памяти самостоятельно, и к таким программам относится SQL Server. Ниже показан reg-файла для задания такой установки:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
“LargeSystemCache”=dword:00000000
То, насколько агрессивно будет заниматься физическая память под задачи файлового кэша, зависит от установки следующего ключа реестра:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters]
“Size”=dword:00000001
Возможные значения: 1-вяло, 2-сбалансировано, 3-агресивно. Для установок с малой нагрузкой на файловый кэш, вполне достаточно 1.. Другие установки свойственны файловым серверам разного масштаба, впрочем, для тестов TPC-E часто выбирают 3.
Отключить режим экономии энергии, который тоже может замедлять некоторые операции, можно с помощью ключа IdleFrom0Delay. Сделать это можно так:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
“IdleFrom0Delay”=dword:00000000
IoPageLockLimit, DisablePagingExecutive и DontVerifyRandomDrivers
В одном из документов по оптимизации мне попадалась следующая формула: “IoPageLockLimit = (RAMMb – 65) * 1024″. С помощью ключа IoPageLockLimitможно повлиять на то, сколько байт система будет читать или писать на логичекский диск за один раз.
Когда оперативной памяти предостаточно, с помощью установкиDisablePagingExecutive можно не позволять SQL Server вытеснять в файл подкачки компоненты драйверов привилегированного и непривилегированного режимов, как и компоненты самого ядра ОС. УстановкаDontVerifyRandomDrivers в единицу позволяет сэкономить несколько процессорных циклов за счёт отключения отладочной проверки драйверов.
Вот как могут выглядеть значения этих ключей на практике:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
“DisablePagingExecutive”=dword:00000001
“DontVerifyRandomDrivers”=dword:00000001
“IoPageLockLimit”=dword:00d9bc00
CountOperations
Параметр CountOperations позволяет отключить сбор данных по некоторым счётчикам производительности, которые относятся к запросам ввода-вывода дисковой подсистемы и сетевых интерфейсов. Чтобы это сделать, нужно в ключе системного реестра “I/O System” установить значение 0 для следующего параметра:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\I/O System]
“CountOperations”=dword:00000000
Требуется перезагрузка.
NumberOfRequests и MaximumSGList
Эта пара ключей системного реестра предназначена для управления драйвером минипорта в момент инициализации последнего.
Увеличивая значение NumberOfRequests может способствовать повышению производительности обслуживания в Windows запросов дискового ввода-вывода, адресованных логическим дискам, и бывает эффективно только если эти логические диски являются аппаратными RAID-массивами, которые обладают возможностью распараллеливания запросов ввода-вывода. Рекомендованное значение можно найти в документации производителя FC-адаптера или RAID-контроллера. Увеличивать значение нужно осторожно, т.к. большое значение может привести даже к отказу системы. Например, для HBA адаптера QLogic, управляемого драйвером “QLogic Fibre Channel Miniport Driver”, в документации не рекомендуется превышать значение 150. Новое значение вступает в силу после перезагрузки системы или, в некоторых случаях, достаточно перезапустить адаптер (заблокировать/разблокировать).
Ключ MaximumSGList позволяет изменять используемый по умолчанию размер пакета передачи данных по шине (64Кб), который актуален для команд интерфейса SCSI. Если установить значение 255, то размер передаваемого одной командой объёма данных будет равняться мегабайту. Современные адаптеры умеют объединять до 265 сегментов данных, каждый по 4096 байт, что в сумме может дать размер одной передачи до 1048576 байт. Этот параметр широко используется для повышения эффективности использования ленточных накопителей, а также для оптимизаций таких задач SQL Server, которые оперируют большими запросами ввода-вывода, например, резервное копирование и восстановление.
В описаниях тесов TPC-C встречается установка обоих ключей в значение 255, как это показано в примере ниже:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ql2300\Parameters\Device]
“DriverParameter”=””
“BusType”=dword:00000006
“NumberOfRequests”=dword:000000ff
“MaximumSGList”=dword:000000ff
“CreateInitiatorLU”=dword:00000001
“DriverParameters”=”UseSameNN=1;buschange=0″
IdlePrioritySupported
Windows Server 2008 умеет учитывать приоритет запроса ввода-вывода и использует его для обслуживания фоновых задач. Однако, если система обслуживает только одно приложение, подобное SQL Server, и это приложение само заботится о приоритетах запросов ввода-вывода, отвлечение системных ресурсов на приоритезацию становится излишним. Отучить Windows от обслуживания приоритетов запросов можно внеся изменения в системный реестр для каждого из выбранных дисков, как это показано на примере использования ключа IdlePrioritySupported:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\SCSI\Disk&Ven_IBM&Prod_1726-4xx__FAStT\5&22c73432&0&000000\Device Parameters\Classpnp]
“IdlePrioritySupported”=dword:00000000
Ключ Classpnp скорее всего придётся добавить. Подобные тонкие настройки были мной замечены у IBM в тестах TPC-E.
TCPWindowSize
В Windows 2008 этот ключ больше не используется. В более ранних версиях увеличение размера окна может повысить эффективность сетевого трафика. Рекомендуемое значение (64240) для ключа TCPWindowSize представлено ниже:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
“TCPWindowSize”=dword:0000faf0
Подробности можно узнать в статье Базы Знаний Майкрософт: Description of Windows 2000 and Windows Server 2003 TCP Features.
Если размер окна в 64240 Байт тоже ограничивает производительность сети, существует возможность увеличения размера окна до одного Гигабайта. Ключ реестра TCP1323Opts разрешает динамическое мастабирование окна. Рекомендуемым значением для этого ключа является: 0x3.
Для дальнейшей оптимизации производительности сетевых интерфейсов попробуйте использовать следующие ключи системного реестра Windows, описание которых легко найти в Базе Знаний Майкрософт:TCPMaxConnectRetransmissionsTCPMaxDataRetransmissions,TCPTimedWaitDelayMaxUserPortMaxHashTableSizeNumTcbTablePartitions,TcpAckFrequencyMTU и EnablePMTUDiscovery.

Рекомендуемые к отключению службы

Application Management Alerter, Clipbook, Computer Browser, Distributed file system, Distributed link tracking client, Error Reporting Service, Fax Service, File Replication, Help and Support HTTP SSL, License Logging, Messenger, Portable Media Serial Number Service, Shell Hardware Detection, Windows Audio, Wireless Configuration.

Отключение защиты от перезаписи обработчика структурных исключений (SEHOP) в ОС Windows

Сохраните это в текстовом файле с расширением “reg” на сервере. Щёлкните по файлу два раза мышкой, и убедитесь, что изменения в реестре были применены успешно. Перезагрузите систему.
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel]
“DisableExceptionChainValidation”=dword:00000001
Пояснения тут: http://support.microsoft.com/kb/956607
В тему
Параметры настройки для SQL Server 2005 и SQL Server 2008 при работе в высокопроизводительных рабочих нагрузок