시스템 변수System Variables

SQL ServerSQL Server Integration ServicesIntegration Services 에는 런타임 패키지 및 해당 개체에 대한 정보가 저장되는 일련의 시스템 변수가 제공됩니다. Integration ServicesIntegration Services provides a set of system variables that store information about the running package and its objects. 이러한 변수를 식 및 속성 식에서 사용하여 패키지, 컨테이너, 태스크 및 이벤트 처리기를 사용자 지정할 수 있습니다.These variables can be used in expressions and property expressions to customize packages, containers, tasks, and event handlers.

SQL 실행 태스크에서 변수를 매개 변수에 매핑하는 데 사용되는 매개 변수 바인딩에는 시스템 변수와 사용자 정의 변수를 포함한 모든 변수를 사용할 수 있습니다.All variables—system and user-defined— can be used in the parameter bindings that the Execute SQL task uses to map variables to parameters.

패키지의 시스템 변수System Variables for Packages

다음 표에서는 Integration ServicesIntegration Services 에서 패키지에 대해 제공하는 시스템 변수에 대해 설명합니다.The following table describes the system variables that Integration ServicesIntegration Services provides for packages.

시스템 변수System variable 데이터 형식Data type DescriptionDescription
CancelEventCancelEvent Int32Int32 태스크 실행을 중지해야 함을 나타내기 위해 태스크가 표시할 수 있는 Windows 이벤트 개체에 대한 핸들입니다.The handle to a Windows Event object that the task can signal to indicate that the task should stop running.
ContainerStartTimeContainerStartTime DateTimeDateTime 컨테이너의 시작 시간입니다.The start time of the container.
CreationDateCreationDate DateTimeDateTime 패키지를 만든 날짜입니다.The date that the package was created.
CreatorComputerNameCreatorComputerName 문자열String 패키지를 만든 컴퓨터입니다.The computer on which the package was created.
CreatorNameCreatorName 문자열String 패키지를 만든 사용자의 이름입니다.The name of the person who built the package.
ExecutionInstanceGUIDExecutionInstanceGUID 문자열String 실행 중인 패키지의 고유 식별자입니다.The unique identifier of the executing instance of a package.
FailedConfigurationsFailedConfigurations 문자열String 실패한 패키지 구성 이름입니다.The names of package configurations that have failed.
IgnoreConfigurationsOnLoadIgnoreConfigurationsOnLoad BooleanBoolean 패키지를 로드할 때 패키지 구성을 무시할지 여부를 지정합니다.Indicates whether package configurations are ignored when loading the package.
InteractiveModeInteractiveMode BooleanBoolean 패키지가 대화형 모드에서 실행 중인지 여부를 나타냅니다.Indicates whether the package is run in interactive mode. SSISSSIS 디자이너에서 패키지를 실행 중인 경우 이 속성은 True로 설정됩니다.If a package is running in SSISSSIS Designer, this property is set to True. DTExec 명령 프롬프트 유틸리티를 사용하여 패키지를 실행 중인 경우 이 속성은 False로 설정됩니다.If a package is running using the DTExec command prompt utility, the property is set to False.
LocaleIdLocaleId Int32Int32 패키지에서 사용되는 로캘입니다.The locale that the package uses.
MachineNameMachineName 문자열String 패키지가 실행 중인 컴퓨터 이름입니다.The name of the computer on which the package is running.
OfflineModeOfflineMode BooleanBoolean 패키지가 오프라인 모드인지 여부를 나타냅니다.Indicates whether the package is in offline mode. 오프라인 모드에서는 데이터 원본에 연결하지 않습니다.Offline mode does not acquire connections to data sources.
PackageIDPackageID 문자열String 패키지의 고유 식별자입니다.The unique identifier of the package.
PackageNamePackageName 문자열String 패키지의 이름입니다.The name of the package.
StartTimeStartTime DateTimeDateTime 패키지 실행을 시작한 시간입니다.The time that the package started to run.
ServerExecutionIDServerExecutionID Int64Int64 Integration ServicesIntegration Services 서버에서 실행되는 패키지의 실행 ID입니다.Execution ID for the package that is executed on the Integration ServicesIntegration Services server.

기본값은 영입니다.The default value is zero. 이 값은 패키지가 Integration ServicesIntegration Services 서버에서 ISServerExec에 의해 실행되는 경우에만 변경됩니다.The value is changed only if the package is executed by ISServerExec on the Integration ServicesIntegration Services Server. 자식 패키지가 있으면 값이 부모 패키지에서 자식 패키지로 전달됩니다.When there is a child package, the value is passed from the parent package to child package.
UserNameUserName 문자열String 패키지를 시작한 사용자의 계정입니다.The account of the user who started the package. 사용자 이름은 도메인 이름에 의해 한정됩니다.The user name is qualified by the domain name.
VersionBuildVersionBuild Int32Int32 패키지 버전입니다.The package version.
VersionCommentVersionComment 문자열String 패키지 버전에 대한 설명입니다.Comments about the package version.
VersionGUIDVersionGUID 문자열String 버전의 고유 식별자입니다.The unique identifier of the version.
VersionMajorVersionMajor Int32Int32 패키지의 주 버전입니다.The major version of the package.
VersionMinorVersionMinor Int32Int32 패키지의 부 버전입니다.The minor version of the package.

컨테이너의 시스템 변수System Variables for Containers

다음 표에서는 For 루프, Foreach 루프 및 시퀀스 컨테이너에 대해 Integration ServicesIntegration Services 에서 제공하는 시스템 변수에 대해 설명합니다.The following table describes the system variables that Integration ServicesIntegration Services provides for the For Loop, Foreach Loop, and Sequence containers.

시스템 변수System variable 데이터 형식Data type DescriptionDescription 컨테이너Container
LocaleIdLocaleId Int32Int32 컨테이너에서 사용되는 로캘입니다.The locale that the container uses. For 루프 컨테이너For Loop container

Foreach 루프 컨테이너Foreach Loop container

시퀀스 컨테이너Sequence container

태스크의 시스템 변수System Variables for Tasks

다음 표에서는 Integration ServicesIntegration Services 에서 태스크에 대해 제공하는 시스템 변수에 대해 설명합니다.The following table describes the system variables that Integration ServicesIntegration Services provides for tasks.

시스템 변수System variable 데이터 형식Data type DescriptionDescription
CreationNameCreationName 문자열String 태스크 이름입니다.The name of the task.
LocaleIdLocaleId Int32Int32 태스크에서 사용되는 로캘입니다.The locale that the task uses.
TaskIDTaskID 문자열String 태스크의 고유 식별자입니다.The unique identifier of a task instance.
TaskNameTaskName 문자열String 태스크의 이름입니다.The name of the task instance.
TaskTransactionOptionTaskTransactionOption Int32Int32 태스크에서 사용되는 트랜잭션 옵션입니다.The transaction option that the task uses.

이벤트 처리기의 시스템 변수System Variables for Event Handlers

다음 표에서는 Integration ServicesIntegration Services 에서 이벤트 처리기에 대해 제공하는 시스템 변수에 대해 설명합니다.The following table describes the system variables that Integration ServicesIntegration Services provides for event handlers. 일부 변수는 특정 이벤트 처리기에서만 사용할 수 있습니다.Not all variables are available to all event handlers.

시스템 변수System variable 데이터 형식Data type DescriptionDescription 이벤트 처리기Event handler
취소Cancel BooleanBoolean 오류, 경고 또는 쿼리 취소가 발생할 때 이벤트 처리기 실행이 중지되는지 여부를 나타냅니다.Indicates whether the event handler stops running when an error, warning, or query cancellation occurs. OnError 이벤트 처리기OnError event handler

OnWarning 이벤트 처리기OnWarning event handler

OnQueryCancel 이벤트 처리기OnQueryCancel event handler
ErrorCodeErrorCode Int32Int32 오류 식별자입니다.The error identifier. OnError 이벤트 처리기OnError event handler

OnInformation 이벤트 처리기OnInformation event handler

OnWarning 이벤트 처리기OnWarning event handler
ErrorDescriptionErrorDescription 문자열String 오류에 대한 설명입니다.The description of the error. OnError 이벤트 처리기OnError event handler

OnInformation 이벤트 처리기OnInformation event handler

OnWarning 이벤트 처리기OnWarning event handler
ExecutionStatusExecutionStatus BooleanBoolean 현재 실행 상태입니다.The current execution status. OnExecStatusChanged 이벤트 처리기OnExecStatusChanged event handler
ExecutionValueExecutionValue DBNullDBNull 실행 값입니다.The execution value. OnTaskFailed 이벤트 처리기OnTaskFailed event handler
LocaleIdLocaleId Int32Int32 이벤트 처리기에서 사용되는 로캘입니다.The locale that the event handler uses. 모든 이벤트 처리기All event handlers
PercentCompletePercentComplete Int32Int32 완료된 작업의 백분율입니다.The percentage of completed work. OnProgress 이벤트 처리기OnProgress event handler
ProgressCountHighProgressCountHigh Int32Int32 OnProgress 이벤트에 의해 처리된 전체 작업 개수를 나타내는 64비트 값의 상위 부분입니다.The high part of a 64-bit value that indicates the total number of operations processed by the OnProgress event. OnProgress 이벤트 처리기OnProgress event handler
ProgressCountLowProgressCountLow Int32Int32 OnProgress 이벤트에 의해 처리된 전체 작업 개수를 나타내는 64비트 값의 하위 부분입니다.The low part of a 64-bit value that indicates the total number of operations processed by the OnProgress event. OnProgress 이벤트 처리기OnProgress event handler
ProgressDescriptionProgressDescription 문자열String 진행률에 대한 설명입니다.Description of the progress. OnProgress 이벤트 처리기OnProgress event handler
PropagatePropagate BooleanBoolean 이벤트가 상위 수준의 이벤트 처리기로 전달되는지 여부를 나타냅니다.Indicates whether the event is propagated to a higher level event handler.

참고: 패키지의 유효성을 검사하는 동안에는 Propagate 변수의 값이 무시됩니다.Note: The value of the Propagate variable is disregarded during the validation of the package. 자식 패키지에서 PropagateFalse 로 설정해도 이벤트가 부모 패키지로 전달될 수 있습니다.If you set Propagate to False in a child package, this does not prevent an event from propagating up to the parent package.
모든 이벤트 처리기All event handlers
SourceDescriptionSourceDescription 문자열String 이벤트 처리기에서 이벤트를 발생시킨 실행 개체에 대한 설명입니다.The description of the executable in the event handler that raised the event. 모든 이벤트 처리기All event handlers
SourceIDSourceID 문자열String 이벤트 처리기에서 이벤트를 발생시킨 실행 개체의 고유 식별자입니다.The unique identifier of the executable in the event handler that raised the event. 모든 이벤트 처리기All event handlers
SourceNameSourceName 문자열String 이벤트 처리기에서 이벤트를 발생시킨 실행 개체의 이름입니다.The name of the executable in the event handler that raised the event. 모든 이벤트 처리기All event handlers
VariableDescriptionVariableDescription 문자열String 변수 설명입니다.The variable description. OnVariableValueChanged 이벤트 처리기OnVariableValueChanged event handler
VariableIDVariableID 문자열String 변수의 고유 식별자입니다.The unique identifier of the variable. OnVariableValueChanged 이벤트 처리기OnVariableValueChanged event handler

매개 변수 바인딩의 시스템 변수System Variables in Parameter Bindings

패키지 실행 시 테이블의 시스템 변수 값을 저장하면 유용합니다.It is frequently useful to save the values of system variables in tables when the package is run. 예를 들어 테이블을 동적으로 만들고 이 테이블을 만든 패키지 실행 인스턴스의 GUID를 테이블 열에 쓰는 패키지가 있을 수 있습니다.For example, a package that dynamically creates a table and writes the GUID of the package execution instance that created the table in a table column.

시스템 변수를 사용하여 SQL 실행 태스크에서 사용되는 SQL 문의 매개 변수에 매핑하는 경우 각 매개 변수 바인딩의 데이터 형식을 시스템 변수의 데이터 형식으로 설정해야 합니다.If you use system variables to map to parameters in the SQL statement that an Execute SQL task uses, it is important that you set the data type of each parameter binding to the data type of the system variable. 그렇게 하지 않으면 시스템 변수 값이 올바르게 번역되지 않을 수 있습니다.Otherwise, the values of system variables may be translated incorrectly. 예를 들어 패키지의 실행 인스턴스에 대한 GUID를 나타내는 문자열을 포함하는 문자열 데이터 형식의 ExecutionInstanceGUID 시스템 변수를 GUID 데이터 형식의 매개 변수 바인딩에 사용하면 패키지 인스턴스의 GUID가 올바르게 번역되지 않습니다.For example, if the ExecutionInstanceGUID system variable, which has the string data type and contains a string that represents the GUID of the executing instance of a package, is used in a parameter binding with the GUID data type, the GUID of the package instance will be translated incorrectly.

이 규칙은 사용자 정의 변수에도 적용됩니다.This rule applies to user-defined variables as well. 그러나 시스템 변수 데이터 형식의 경우 변경할 수 없으므로 데이터 형식에 맞게 적절하게 사용해야 하는 반면 사용자 정의 데이터 형식은 보다 융통성이 높습니다.But, whereas the data types of system variables cannot be changed and you have to tailor your use of these variables to fit the data types, user-defined are more flexible. 매개 변수 바인딩에 사용되는 사용자 정의 변수는 일반적으로 매핑되는 매개 변수의 데이터 형식과 호환 가능한 데이터 형식으로 정의됩니다.The user-defined variables that are used in parameter bindings are usually defined with data types that are compatible with the data types of parameters to which they are mapped.

쿼리 매개 변수를 SQL 실행 태스크의 변수에 매핑Map Query Parameters to Variables in an Execute SQL Task