Published on

December 6, 2013

Автоматизация параметров запуска SQL Server

Решения часто возникают, когда сталкиваются с проблемами. В моем случае у меня была задача добавить флаг трассировки 1222 для захвата блокировок на более чем 1000 экземпляров SQL Server. Эта задача может быть трудоемкой и подвержена ручным ошибкам при работе с большим количеством разбросанных экземпляров SQL. Однако, с правильным подходом, этот процесс можно автоматизировать, экономя время и снижая вероятность ошибок.

Прежде чем мы приступим к решению, важно отметить, что этот подход применим только к SQL Server 2008 R2 SP2 и выше. Скрипт, который мы будем использовать, основан на представлении DMV sys.dm_server_registry, которое недоступно в более ранних версиях.

Параметры запуска службы SQL можно изменить с помощью SQL Server Configuration Manager. Однако, ручное изменение параметров для каждого экземпляра может быть трудоемким и подверженным ошибкам. Вместо этого мы можем использовать силу скриптов и Реестра для автоматизации этой задачи.

Каждый параметр запуска службы SQL хранится как отдельная запись в Реестре с именами, начинающимися с SQLARG0 и увеличивающимися для каждого дополнительного параметра. Чтобы добавить новый параметр запуска, например, флаг трассировки 1222, мы можем непосредственно изменить Реестр с помощью команды xp_regwrite.

Давайте взглянем на скрипт, который состоит из трех разделов:

  1. Определение параметра запуска: В этом разделе мы устанавливаем значение переменной @Parameters, чтобы указать параметр запуска, который мы хотим добавить.
  2. Очистка: Этот раздел гарантирует, что указанный параметр запуска будет очищен, если он уже существует. Это делает скрипт повторно запускаемым и предотвращает возникновение проблем, если параметр уже присутствует.
  3. Добавление параметра запуска: Последний раздел скрипта использует xp_regwrite для добавления нового параметра в Реестр.

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

После успешного тестирования скрипта на экземпляре SQL Server вы можете расширить его функциональность, используя Central Management Server (CMS). CMS позволяет управлять несколькими экземплярами из одного места, что упрощает внедрение изменений на всех 1000 экземплярах всего одним нажатием кнопки.

Автоматизация параметров запуска SQL Server может сэкономить вам время и снизить вероятность ошибок. Используя скрипты и Реестр, вы можете эффективно управлять и настраивать несколько экземпляров SQL Server.

Для получения дополнительной информации о использовании CMS для управления вашей средой, рекомендую ознакомиться с отличной статьей Райана Адамса.

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.