Поделиться через


Команда nscontrol update

Изменения: 5 декабря 2005 г.

Обновляет базы данных экземпляра и приложения для существующего экземпляра служб SQL Server Notification Services.

Синтаксис

nscontrol update 
    [-nologo]
    [-help]
        -in configFile
    [-verbose] 
    [-force] 
    [-sqlusername sqlUserName -sqlpassword sqlPassword] 
    [-argumentkey key]
    [-timeout seconds]
    [param=value ...]

Аргументы

  • -nologo
    Блокирует вывод на экран сведений о продукте и его версии, отображаемых при выполнении команды nscontrol.
  • -help
    Отображает синтаксис команды.
  • -inconfigFile
    Путь и имя файла конфигурации экземпляра (ICF), который определяет экземпляр. Если файл находится в текущем каталоге, указывать путь не требуется.
  • -verbose
    Отображает все найденные данные, которые изменились в файле ICF и файле определения приложения (ADF). Это полезно для отладки или точного понимания действий, выполняемых командой nscontrol update.
  • -force
    Вызывает продолжение работы команды nscontrol update без вывода запроса на подтверждение производимых действий.
  • -sqlusernamesqlUserName
    Имя входа SQL Server, используемое для подключения к SQL Server.

    ms162829.note(ru-ru,SQL.90).gifВажно!
    Проверка подлинности Windows более надежна, чем проверка подлинности SQL Server. При возможности используйте проверку подлинности Windows.

    Если для соединения с SQL Server используется проверка подлинности SQL Server, то необходимо указать оба аргумента, -sqlusername и -sqlpassword.

    При использовании проверки подлинности Windows не указывайте аргументы -sqlusername и -sqlpassword.

  • -sqlpasswordsqlPassword
    Пароль для имени входа -sqlusername. Пароль нужно указывать только при использовании проверки подлинности SQL Server.
  • -argumentkeykey
    То же значение ключа, которое указывалось с командами nscontrol register и nscontrol create. Этот аргумент необходим, если значением EncryptArguments в файле ICF является true. Команда nscontrol update расшифровывает значения аргументов, чтобы проверить, что ключ является тем же ключом, который указан с командой nscontrol create. Если значение ключа совпадает, обновление продолжается. После создания экземпляра изменить ключ нельзя.
  • -timeout seconds
    Время ожидания в секундах для завершения каждого действия обновления, такого как создание или удаление индекса. По умолчанию период ожидания составляет 30 секунд. Если какое-то действие может потребовать более 30 секунд, увеличьте значение времени ожидания.
  • param=value
    Пара «имя/значение», которая используется, чтобы передать значения параметров в файл конфигурации из командной строки.

    Если файл конфигурации содержит заменяемые параметры (такие, как %DBSystem%), укажите имя и значение параметра в командной строке. Например, если файл конфигурации содержит следующий XML-код:

    <SqlServerSystem>%DBSystem%</SqlServerSystem>
    

    укажите имя и значение, необходимые программе nscontrol update, следующим образом:

    nscontrol create -in config.xml DBSystem=MySQLServer
    

    Значения параметров, которые указаны в командной строке, применяются к параметрам в файле ICF, но не к параметрам в файлах ADF. Чтобы передать значение параметра в файл ADF, добавьте подраздел Parameters к разделу Application файла конфигурации. В качестве значений в этом узле можно использовать заменяемые параметры. Значения для этих параметров можно вводить в командной строке.

    Помимо указания параметров в командной строке можно также использовать переменные среды в файле ICF (например, %COMPUTERNAME%). Если в файле ICF используется переменная среды, обратите внимание, что пара «имя/значение» с тем же именем, введенная в командной строке, имеет более высокий приоритет, чем переменная среды.

Замечания

Команда nscontrol update сравнивает XML-код в файлах ICF и ADF с базами данных. Для каждого допустимого изменения команда nscontrol update обновляет базу данных, как указано в XML-файле.

Не все элементы в файлах ICF и ADF могут быть обновлены. Некоторые элементы в этих файлах указывают на параметры, которые не могут быть изменены без удаления и повторного создания экземпляра. Дополнительные сведения см. в разделах Instance Configuration File Reference и Application Definition File Reference. Каждый раздел содержит строку Обновления, которая указывает, может ли поле быть обновлено.

ms162829.note(ru-ru,SQL.90).gifВажно!
Перед обновлением экземпляра настоятельно рекомендуется создать резервную копию баз данных экземпляра и приложений. Операция обновления может выдать сбой до завершения. Если это произойдет, базы данных экземпляра и приложений могут остаться в несогласованном состоянии. Это значит, что экземпляры и приложения могут быть неработоспособными, а данные могут быть потеряны.
ms162829.note(ru-ru,SQL.90).gifПримечание.
Проверьте все файлы ADF и ICF перед запуском команды nscontrol update, чтобы уменьшить риск ошибок. Если ошибка все-таки произошла, исправьте файл и снова запустите команду nscontrol update.

Если используются службы Notification Services Standard Edition, а параметры указываются в файлах ADF, которые не поддерживаются выпуском Standard Edition, команда nscontrol update остановится, не обновляя экземпляр.

Если в файле ADF изменяются метаданные класса подписки, команда nscontrol update переименует существующую таблицу класса подписки NS<*класс_подписки>*Subscriptions в NS<*класс_подписки>*SubscriptionsOld, чтобы сохранить данные подписки. Если позже обновить тот же самый класс подписки, когда команда nscontrol update пытается переименовать таблицу, процесс переименования завершится сбоем, если существует таблица NS<*класс_подписки>*SubscriptionsOld. Дополнительные сведения см. в разделе Обновление приложения.

Если в файле ADF изменяется класс событий или класс уведомлений, команда nscontrol update удаляет существующие таблицы для этих классов.

Команда nscontrol update обычно отображает все изменения, сделанные в файлах ICF и ADF, в процессе выполнения обновления. Однако если экземпляр использует шифрование аргументов, команда nscontrol update не отобразит зашифрованные аргументы.

Перед обновлением экземпляра убедитесь, что любой код, который создает таблицу, представление, индекс или другой объект SQL Server, проверяет наличие любого существующего объекта с тем же именем и удаляет или переименовывает его. Это необходимо, потому что команда nscontrol update не производит автоматическое удаление или переименование любых существующих пользовательских объектов SQL Server, имеющих одинаковые имена. При явном удалении или переименовании объекта SQL Server не возникает ошибки дублирования объектов. Дополнительные сведения см. в разделе Определение таблиц хроники событий.

Разрешения

Учетная запись, используемая для выполнения команды nscontrol update или имя входа SQL Server, указанное в аргументе -sqlusername, должны быть членами роли базы данных db_owner во всех базах данных экземпляров и приложений, которые затрагивает команда nscontrol update, или являться членами фиксированной серверной роли sysadmin.

Эта учетная запись должна также иметь разрешение на выполнение двоичных файлов служб Notification Services; такое разрешение предоставляется членам групп Windows «Администраторы» и SQLServerNotificationServicesUser.

Примеры

В следующих примерах показано, как обновить экземпляр.

A. Обновление экземпляра с просмотром всех различий

В этом примере показано, как обновить экземпляр с помощью файла ICF с именем InstanceConfig.xml. Команда nscontrol update отображает все различия, найденные в обновленном файле конфигурации и файлах ADF. Необходимо ответить да или нет для продолжения обновления.

Команда nscontrol использует проверку подлинности Windows для подключения к SQL Server.

nscontrol update -in "C:\NS\Stock\InstanceConfig.xml" 
    -verbose

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

В этом примере показано, как предоставить значения для параметров BaseDirectoryPath, NSHost и SqlServer при обновлении экземпляра. Команда nscontrol использует проверку подлинности Windows для подключения к SQL Server.

nscontrol update -in "C:\NS\Stock\InstanceConfig.xml" 
    BaseDirectoryPath=C:\NS\Samples\Stock NSHost=nsuetest 
    SqlServer=nsuetest

В. Обновление экземпляра с шифрованием аргументов

В этом примере показано, как обновить экземпляр, если используется шифрование аргументов. Команда nscontrol использует проверку подлинности Windows для подключения к SQL Server.

nscontrol update -in "C:\NS\Stock\InstanceConfig.xml" 
    -argumentkey "MyArgumentKey"

Г. Обновление без подтверждения

В этом примере показано, как обновить экземпляр без подтверждения пользователя. Команда nscontrol использует проверку подлинности Windows для подключения к SQL Server.

nscontrol update -in "C:\NS\Stock\InstanceConfig.xml" -force

Д. Обновление экземпляра с использованием проверки подлинности SQL Server

ms162829.note(ru-ru,SQL.90).gifВажно!
При возможности используйте проверку подлинности Windows.

В этом примере показано, как обновить экземпляр, используя проверку подлинности SQL Server для подключения к SQL Server. Команда nscontrol update отображает все различия, найденные в обновленном файле конфигурации и файлах ADF. Необходимо ответить да или нет для продолжения обновления.

nscontrol update -in "C:\NS\Stock\InstanceConfig.xml" 
    -sqlusername SqlUser -sqlpassword sQl-P@sWd

См. также

Справочник

Программа nscontrol

Другие ресурсы

Обновление экземпляров и приложений
EncryptArguments Element (ICF)

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

5 декабря 2005 г.

Новое содержимое:
  • Добавлены сведения о группе Windows SQLServerNotificationServicesUser.