다음을 통해 공유


nscontrol update 명령

업데이트: 2005년 12월 5일

기존 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(ko-kr,SQL.90).gif중요:
    Windows 인증은 SQL Server 인증보다 안전합니다. 가능하면 Windows 인증을 사용해야 합니다.

    SQL Server 인증을 사용하여 SQL Server에 연결하는 경우 -sqlusername-sqlpassword 인수를 모두 지정해야 합니다.

    Windows 인증을 사용하는 경우 -sqlusername-sqlpassword 인수를 지정하지 마십시오.

  • -sqlpasswordsqlPassword
    -sqlusername 로그인과 연관된 암호입니다. SQL Server 인증을 사용하여 연결하는 경우에만 암호를 지정해야 합니다.
  • -argumentkeykey
    nscontrol registernscontrol create를 사용하여 지정했던 것과 같은 키 값입니다. 이 인수는 ICF의 EncryptArguments 값이 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에 매개 변수 값을 전달하려면 구성 파일의 Application 섹션에 Parameters 하위 섹션을 추가합니다. 이 노드에서 대체 가능한 매개 변수를 값으로 사용할 수 있습니다. 명령 프롬프트에 이러한 매개 변수의 값을 입력할 수 있습니다.

    명령 프롬프트에서 매개 변수를 지정하는 것 이외에도 ICF에서 %COMPUTERNAME% 같은 환경 변수를 사용할 수 있습니다. ICF에서 환경 변수를 사용하는 경우 같은 이름을 가진 명령 프롬프트 이름/값 쌍이 환경 변수보다 우선적으로 적용됩니다.

주의

nscontrol update 명령은 ICF 및 ADF의 XML과 데이터베이스를 비교합니다. 유효한 변경 내용 각각에 대해 nscontrol update는 XML 파일에 지정된 대로 데이터베이스를 업데이트합니다.

ICF와 ADF의 일부 요소는 업데이트할 수 없습니다. 이러한 파일의 일부 요소는 인스턴스를 삭제한 다음 다시 만들지 않고는 변경될 수 없는 옵션을 지정합니다. 자세한 내용은 Instance Configuration File ReferenceApplication Definition File Reference 섹션을 참조하십시오. 각 항목에는 필드의 업데이트 가능 여부를 나타내는 업데이트 행이 있습니다.

ms162829.note(ko-kr,SQL.90).gif중요:
인스턴스를 업데이트하기 전에 인스턴스 및 응용 프로그램 데이터베이스를 백업해야 합니다. 업데이트 작업이 완료되기 전에 실패할 수 있기 때문입니다. 이렇게 되면 인스턴스 및 응용 프로그램 데이터베이스의 상태가 일관되지 않을 수 있으며, 이는 인스턴스와 응용 프로그램이 작동하지 않거나 데이터가 손실될 수 있음을 의미합니다.

[!참고] nscontrol update를 실행하기 전에 모든 ADF와 ICF를 확인하여 오류 가능성을 줄입니다. 오류가 발생하면 파일을 수정한 다음 nscontrol update를 다시 실행합니다.

Notification Services Standard Edition을 사용하는 경우 ADF에서 Standard Edition이 지원하지 않는 옵션을 지정하면 nscontrol update는 인스턴스를 업데이트하지 않고 중지합니다.

ADF의 구독 클래스 메타데이터를 변경하면 nscontrol update가 기존 구독 클래스 테이블의 이름을 NS<*subscription_class>*Subscriptions에서 NS<*subscription_class>*SubscriptionsOld로 바꿔 구독 데이터를 저장합니다. 나중에 같은 구독 클래스를 업데이트하는 경우 nscontrol update에서 테이블의 이름을 바꾸려고 시도할 때 NS<*subscription_class>*SubscriptionsOld가 존재하면 이름을 바꿀 수 없습니다. 자세한 내용은 응용 프로그램 업데이트를 참조하십시오.

ADF에서 이벤트 클래스 또는 알림 클래스가 변경되면 nscontrol update에서는 이러한 클래스의 기존 테이블을 삭제합니다.

일반적으로 nscontrol update 명령은 업데이트를 수행하는 동안 ICF 및 ADF의 모든 변경 내용을 표시합니다. 하지만 인스턴스에서 인수 암호화를 사용할 경우 nscontrol update는 암호화된 인수를 표시하지 않습니다.

인스턴스를 업데이트하기 전에 테이블, 뷰, 인덱스 또는 기타 SQL Server 개체를 만드는 코드가 같은 이름의 기존 개체를 확인한 후 삭제하거나 이름을 바꾸는지 확인해야 합니다. nscontrol update는 이름이 같은 기존 사용자 정의 SQL Server 개체를 자동으로 삭제하거나 이름을 바꾸지 않기 때문에 이 작업이 반드시 필요합니다. SQL Server 개체를 명시적으로 삭제하거나 이름을 바꿔야 개체가 중복되는 오류를 피할 수 있습니다. 자세한 내용은 이벤트 기록 테이블 정의를 참조하십시오.

사용 권한

nscontrol update를 실행하는 데 사용되는 계정이나 -sqlusername 인수에서 지정한 SQL Server 로그인은 nscontrol update 명령의 영향을 받는 모든 인스턴스 및 응용 프로그램 데이터베이스에서 db_owner 데이터베이스 역할의 멤버이거나 sysadmin 고정 서버 역할의 멤버여야 합니다.

또한 이 계정에는 Notification Services 이진 파일을 실행할 수 있는 권한이 있어야 합니다. 이 권한은 Administrators 및 SQLServerNotificationServicesUser Windows 그룹의 멤버에게 부여됩니다.

다음 예에서는 인스턴스를 업데이트하는 방법을 보여 줍니다.

1. 모든 차이점을 표시하면서 인스턴스 업데이트

이 예에서는 InstanceConfig.xml이라는 ICF를 사용하여 인스턴스를 업데이트하는 방법을 보여 줍니다. nscontrol update 명령은 업데이트된 구성 파일과 ADF에서 찾은 모든 차이점을 표시합니다. 업데이트하기 전에 또는 아니요를 묻는 메시지가 표시됩니다.

nscontrol 명령은 Windows 인증을 사용하여 SQL Server에 연결합니다.

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

2. ICF에 매개 변수가 포함된 경우 인스턴스 업데이트

이 예에서는 인스턴스 업데이트 시 BaseDirectoryPath, NSHostSqlServer 매개 변수에 값을 제공하는 방법을 보여 줍니다. nscontrol 명령은 Windows 인증을 사용하여 SQL Server에 연결합니다.

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

3. 인수 암호화를 사용하는 경우 인스턴스 업데이트

이 예에서는 인수 암호화를 사용하는 경우 인스턴스를 업데이트하는 방법을 보여 줍니다. nscontrol 명령은 Windows 인증을 사용하여 SQL Server에 연결합니다.

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

4. 메시지를 표시하지 않고 업데이트 실행

이 예에서는 업데이트 확인 메시지를 표시하지 않고 인스턴스를 업데이트하는 방법을 보여 줍니다. nscontrol 명령은 Windows 인증을 사용하여 SQL Server에 연결합니다.

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

5. SQL Server 인증을 사용하여 인스턴스 업데이트

ms162829.note(ko-kr,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 지원 받기

변경 내역

릴리스 내역

2005년 12월 5일

새로운 내용
  • SQLServerNotificationServicesUser Windows 그룹에 대한 정보를 추가했습니다.