Integration Services(SSIS) 변수Integration Services (SSIS) Variables

변수에는 SQL ServerSQL Server Integration ServicesIntegration Services 패키지와 해당 컨테이너, 태스크 및 이벤트 처리기에서 런타임에 사용할 수 있는 값이 저장됩니다.Variables store values that a SQL ServerSQL Server Integration ServicesIntegration Services package and its containers, tasks, and event handlers can use at run time. 스크립트 태스크와 스크립트 구성 요소의 스크립트에서도 변수가 사용될 수 있습니다.The scripts in the Script task and the Script component can also use variables. 태스크 및 컨테이너의 순서를 워크플로에 지정하는 선행 제약 조건에서는 해당 제약 조건 정의에 식이 포함된 경우에 변수가 사용될 수 있습니다.The precedence constraints that sequence tasks and containers into a workflow can use variables when their constraint definitions include expressions.

Integration ServicesIntegration Services 패키지에서 변수는 다음 용도로 사용될 수 있습니다.You can use variables in Integration ServicesIntegration Services packages for the following purposes:

  • 패키지 요소의 속성을 런타임에 업데이트합니다.Updating properties of package elements at run time. 예를 들어 Foreach 루프 컨테이너에서 허용하는 동시 실행 파일 수를 동적으로 설정할 수 있습니다.For example, you can dynamically set the number of concurrent executables that a Foreach Loop container allows.

  • 메모리 내 조회 테이블을 포함시킵니다.Including an in-memory lookup table. 예를 들어 패키지에서 데이터 값이 포함된 변수를 로드하는 SQL 실행 태스크가 실행될 수 있습니다.For example, a package can run an Execute SQL task that loads a variable with data values.

  • 데이터 값이 포함된 변수를 로드하고 이를 사용하여 WHERE 절에서 검색 조건을 지정합니다.Loading variables with data values and then using them to specify a search condition in a WHERE clause. 예를 들어 스크립트 태스크의 스크립트는 SQL 실행 태스크의 Transact-SQL 문에서 사용하는 변수 값을 업데이트할 수 있습니다.For example, the script in a Script task can update the value of a variable that is used by a Transact-SQL statement in an Execute SQL task.

  • 정수가 포함된 변수를 로드하고 이 값을 사용하여 패키지 제어 흐름 내의 반복 작업을 제어합니다.Loading a variable with an integer and then using the value to control looping within a package control flow. 예를 들어 For 루프 컨테이너의 계산 식에서 변수를 사용하여 반복 횟수를 제어할 수 있습니다.For example, you can use a variable in the evaluation expression of a For Loop container to control iteration.

  • 런타임 시 Transact-SQL 문에 대한 매개 변수 값을 채웁니다.Populating parameter values for Transact-SQL statements at run time. 예를 들어 패키지에서 SQL 실행 태스크를 실행하고 변수를 사용하여 Transact-SQL 문의 매개 변수를 동적으로 설정할 수 있습니다.For example, a package can run an Execute SQL task and then use variables to dynamically set the parameters in a Transact-SQL statement.

  • 변수 값이 포함된 식을 작성합니다.Building expressions that include variable values. 예를 들어 파생 열 변환에서 변수 값을 열 값으로 곱하여 얻은 결과를 열에 채울 수 있습니다.For example, the Derived Column transformation can populate a column with the result obtained by multiplying a variable value by a column value.

시스템 및 사용자 정의 변수System and user-defined variables

Integration ServicesIntegration Services 에서는 사용자 정의 변수와 시스템 변수라는 두 가지 유형의 변수를 지원합니다. supports two types of variables: user-defined variables and system variables. 사용자 정의 변수는 패키지 개발자에 의해 정의되며 시스템 변수는 Integration ServicesIntegration Services에 의해 정의됩니다.User-defined variables are defined by package developers, and system variables are defined by Integration ServicesIntegration Services. 사용자 정의 변수는 패키지에 필요한 만큼 얼마든지 만들 수 있지만 시스템 변수는 추가로 만들 수 없습니다.You can create as many user-defined variables as a package requires, but you cannot create additional system variables.

SQL 실행 태스크에서 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 in SQL statements. 자세한 내용은 SQL 실행 태스크SQL 실행 태스크의 매개 변수 및 반환 코드를 참조하세요.For more information, see Execute SQL Task and Parameters and Return Codes in the Execute SQL Task.

참고

사용자 정의 변수 및 시스템 변수의 이름은 대/소문자를 구분합니다.The names of user-defined and system variables are case sensitive.

사용자 정의 변수는 패키지, Foreach 루프 컨테이너, For 루프 컨테이너, 시퀀스 컨테이너, 태스크 및 이벤트 처리기와 같은 모든 Integration ServicesIntegration Services 컨테이너 유형에 대해 만들 수 있습니다.You can create user-defined variables for all Integration ServicesIntegration Services container types: packages, Foreach Loop containers, For Loop containers, Sequence containers, tasks, and event handlers. 사용자 정의 변수는 해당 컨테이너에 대한 Variables 컬렉션의 멤버입니다.User-defined variables are members of the Variables collection of the container.

SSISSSIS 디자이너를 사용하여 패키지를 만드는 경우에는 디자이너의 패키지 탐색기 탭에 있는 변수 SSISSSIS 폴더에서 Variables 컬렉션의 멤버를 확인할 수 있습니다.If you create the package using SSISSSIS Designer, you can see the members of the Variables collections in the Variables folders on the Package Explorer tab of SSISSSIS Designer. 폴더에는 사용자 정의 변수와 시스템 변수가 나열됩니다.The folders list user-defined variables and system variables.

사용자 정의 변수는 다음과 같은 방식으로 구성할 수 있습니다.You can configure user-defined variables in the following ways:

  • 변수에 대한 이름 및 설명을 제공합니다.Provide a name and description for the variable.

  • 변수에 대한 네임스페이스를 지정합니다.Specify a namespace for the variable.

  • 값이 변경될 때 변수가 이벤트를 발생시킬지 여부를 나타냅니다.Indicate whether the variable raises an event when its value changes.

  • 변수가 읽기 전용 또는 읽기/쓰기인지 나타냅니다.Indicate whether the variable is read-only or read/write.

  • 식의 계산 결과를 사용하여 변수 값을 설정합니다.Use the evaluation result of an expression to set the variable value.

  • 패키지 범위 또는 태스크와 같은 패키지 개체의 범위의 변수를 만듭니다.Create the variable in the scope of the package or a package object such as a task.

  • 변수의 값과 데이터 형식을 지정합니다.Specify the value and data type of the variable.

    시스템 변수에서 구성할 수 있는 유일한 옵션은 값이 변경될 때 이벤트를 발생시키는지 여부를 지정하는 것입니다.The only configurable option on system variables is specifying whether they raise an event when they change value.

    각 컨테이너 유형에 따라 서로 다른 시스템 변수를 사용할 수 있습니다.A different set of system variables is available for different container types. 패키지 및 해당 요소에서 사용되는 시스템 변수에 대한 자세한 내용은 System Variables를 참조하십시오.For more information about the system variables used by packages and their elements, see System Variables.

    변수의 실제 사용 시나리오에 대한 자세한 내용은 패키지에서 변수 사용을 참조하세요.For more information about real-life use scenarios for variables, see Use Variables in Packages.

변수 속성Properties of variables

변수 창이나 속성 창에서 다음 속성을 설정하여 사용자 정의 변수를 구성할 수 있습니다.You can configure user-defined variables by setting the following properties in either the Variables window or the Properties window. 일부 속성은 속성 창에서만 사용할 수 있습니다.Certain properties are available only in the Properties window.

참고

시스템 변수에서 구성할 수 있는 유일한 옵션은 값이 변경될 때 이벤트를 발생시키는지 여부를 지정하는 것입니다.The only configurable option on system variables is specifying whether they raise an event when they change value.

Description Description
변수에 대한 설명을 지정합니다.Specifies the description of the variable.

EvaluateAsExpression EvaluateAsExpression
이 속성을 True로 설정하면 제공된 식이 변수 값을 설정하는 데 사용됩니다.When the property is set to True, the expression provided is used to set the variable value.

Expression
변수에 할당되는 식을 지정합니다.Specifies the expression that is assigned to the variable.

이름 Name
변수 이름을 지정합니다.Specifies the variable name.

네임스페이스Namespace
Integration ServicesIntegration Services두 개의 네임 스페이스를 제공 사용자시스템합니다. provides two namespaces, User and System. 기본적으로 사용자 지정 변수는 사용자 네임스페이스에 속하고 시스템 변수는 시스템 네임스페이스에 속합니다.By default, custom variables are in the User namespace, and system variables are in the System namespace. 사용자 정의 변수에 대한 추가 네임스페이스를 만들고 User 네임스페이스의 이름을 변경할 수 있지만 System 네임스페이스의 이름을 변경하거나, System 네임스페이스에 변수를 추가하거나, 시스템 변수를 다른 네임스페이스에 할당할 수 없습니다.You can create additional namespaces for user-defined variables and change the name of the User namespace, but you cannot change the name of the System namespace, add variables to the System namespace, or assign system variables to a different namespace.

RaiseChangedEventRaiseChangedEvent
이 속성을 True로 설정하면 변수에서 값을 변경할 때 OnVariableValueChanged 이벤트가 발생합니다.When the property is set to True, the OnVariableValueChanged event is raised when the variable changes value.

읽기 전용ReadOnly
이 속성을 False로 설정하면 변수는 읽기/쓰기 변수입니다.When the property is set to False, the variable is read\write.

범위Scope

참고

이 속성 설정은 변수 창에서 변수 이동 을 클릭한 경우에만 변경할 수 있습니다.You can change this property setting only by clicking Move Variable in the Variables window.

변수는 패키지의 범위나 패키지에 들어 있는 컨테이너, 태스크 또는 이벤트 처리기의 범위 내에서 생성됩니다.A variable is created within the scope of a package or within the scope of a container, task, or event handler in the package. 패키지 컨테이너는 컨테이너의 최상위 계층에 있으므로 패키지 범위의 변수는 전역 변수와 같은 기능을 수행하며 패키지의 모든 컨테이너에서 사용될 수 있습니다.Because the package container is at the top of the container hierarchy, variables with package scope function like global variables and can be used by all containers in the package. 이와 비슷하게 For 루프 컨테이너와 같은 컨테이너의 범위 내에서 정의된 변수는 해당 For 루프 컨테이너 내의 모든 태스크 또는 컨테이너에서 사용될 수 있습니다.Similarly, variables defined within the scope of a container such as a For Loop container can be used by all tasks or containers within the For Loop container.

패키지에서 패키지 실행 태스크를 사용하여 다른 패키지가 실행되는 경우 호출한 패키지 또는 실행 패키지 태스크의 범위 내에서 정의된 변수는 부모 패키지 변수 구성 유형을 통해 호출된 패키지에서 사용할 수 있도록 설정될 수 있습니다.If a package runs other packages by using the Execute Package task, the variables defined in the scope of the calling package or the Execute Package task can be made available to the called package by using the Parent Package Variable configuration type. 자세한 내용은 Package Configurations을 참조하세요.For more information, see Package Configurations.

IncludeInDebugDumpIncludeInDebugDump
디버그 덤프 파일에 변수 값이 포함되는지 여부를 나타냅니다.Indicate whether the variable value is included in the debug dump files.

사용자 정의 변수 및 시스템 변수의 경우 InclueInDebugDump 옵션의 기본값은 true입니다.For user-defined variables and system variables, the default value for the InclueInDebugDump option is true.

그러나 사용자 정의 변수의 경우 다음과 같은 조건이 충족될 때 시스템에서 IncludeInDebugDump 옵션을 false 로 다시 설정합니다.However, for user-defined variables, the system resets the IncludeInDebugDump option to false when the following conditions are met:

  • EvaluateAsExpression 변수 속성이 true로 설정되면 시스템에서 IncludeInDebugDump 옵션을 false로 다시 설정합니다.If the EvaluateAsExpression variable property is set to true, the system resets the IncludeInDebugDump option to false.

    디버그 덤프 파일에 식의 텍스트를 변수 값으로 포함하려면 IncludeInDebugDump 옵션을 true로 설정합니다.To include the text of the expression as the variable value in the debug dump files, set the IncludeInDebugDump option to true.

  • 변수 데이터 형식이 문자열로 변경되면 시스템에서 IncludeInDebugDump 옵션을 false로 다시 설정합니다.If the variable data type is changed to a string, the system resets the IncludeInDebugDump option to false.

    시스템에서 IncludeInDebugDump 옵션을 false로 다시 설정하면 사용자가 선택한 값이 재정의될 수 있습니다.When the system resets the IncludeInDebugDump option to false, this might override the value selected by the user.

Value Value
사용자 정의 변수의 값은 문자 또는 식일 수 있습니다.The value of a user-defined variable can be a literal or an expression. 변수에는 변수 값과 값의 데이터 형식을 설정하기 위한 옵션이 포함됩니다.A variable includes options for setting the variable value and the data type of the value. 이 두 속성은 호환되어야 합니다. 예를 들어 정수 데이터 형식에는 문자열 값을 사용할 수 없습니다.The two properties must be compatible: for example, the use of a string value together with an integer data type is not valid.

변수가 식으로 계산되도록 구성된 경우에는 식을 제공해야 합니다.If the variable is configured to evaluate as an expression, you must provide an expression. 런타임에 식이 계산되고 변수에는 해당 계산의 결과가 설정됩니다.At run time, the expression is evaluated, and the variable is set to the evaluation result. 예를 들어 변수에 DATEPART("month", GETDATE()) 식이 사용된 경우 이 변수의 값은 현재 날짜의 월에 해당하는 숫자입니다.For example, if a variable uses the expression DATEPART("month", GETDATE()) the value of the variable is the number equivalent of the month for the current date. 식은 SSISSSIS 식 문법 구문을 사용하는 유효한 식이어야 합니다.The expression must be a valid expression that uses the SSISSSIS expression grammar syntax. 변수에 식이 사용되는 경우 이 식에는 식 문법에서 제공하는 연산자와 함수 및 리터럴을 사용할 수 있지만 식에서 패키지의 데이터 흐름에 있는 열을 참조할 수는 없습니다.When an expression is used with variables, the expression can use literals and the operators and functions that the expression grammar provides, but the expression cannot reference the columns from a data flow in the package. 식의 최대 길이는 4000자입니다.The maximum length of an expression is 4000 characters. 자세한 내용은 Integration Services(SSIS) 식을 참조하세요.For more information, see Integration Services (SSIS) Expressions.

ValueTypeValueType

참고

이 속성 값은 변수 창의 데이터 형식 열에 표시됩니다.The property value appears in the Data type column in the Variables window.

변수 값의 데이터 형식을 지정합니다.Specifies the data type of the variable value.

변수를 사용 하는 시나리오Scenarios for using variables

변수는 Integration ServicesIntegration Services 패키지에서 다양한 방법으로 사용됩니다.Variables are used in many different ways in Integration ServicesIntegration Services packages. 패키지 개발이 본격적으로 진행되면 솔루션에서 요구하는 유연성과 관리 효율성을 구현하기 위해 사용자 정의 변수를 패키지에 추가하는 작업이 필요할 것입니다.You will probably find that package development does not progress far before you have to add a user-defined variable to your package to implement the flexibility and manageability your solution requires. 시나리오에서 따라서는 시스템 변수도 일반적으로 사용됩니다.Depending on the scenario, system variables are also commonly used.

속성 식 변수를 사용하여 패키지 및 패키지 개체의 속성을 설정하는 속성 식에 값을 제공할 수 있습니다.Property Expressions Use variables to provide values in the property expressions that set the properties of packages and package objects. 예를 들어 SELECT * FROM @varTableName 식에는 SQL 실행 태스크가 실행하는 SQL 문을 업데이트하는 varTableName 변수가 포함되어 있습니다.For example, the expression, SELECT * FROM @varTableName includes the variable varTableName that updates the SQL statement that an Execute SQL task runs. DATEPART("d", GETDATE()) == 1? @[User::varPackageFirst]:@[User::varPackageOther]" 식은 해당 월의 첫 번째 날에는 varPackageFirst 변수에 지정된 패키지를 실행하고 다른 날에는 varPackageOther 변수에 지정된 패키지를 실행하여 패키지 실행 태스크에서 실행하는 패키지를 업데이트합니다.The expression, DATEPART("d", GETDATE()) == 1? @[User::varPackageFirst]:@[User::varPackageOther]", updates the package that the Execute Package task runs, by running the package specified in the varPackageFirst variable on the first day of the month and running the package specified in the varPackageOther variable on other days. 자세한 내용은 패키지에서 속성 식 사용을 참조하세요.For more information, see Use Property Expressions in Packages.

데이터 흐름 식 변수를 사용하여 파생 열 및 조건부 분할 변환에서 열을 채우기 위해 사용하는 식에 값을 제공하거나 데이터 행을 다른 변환 출력에 전송할 수 있습니다.Data Flow Expressions Use variables to provide values in the expressions that the Derived Column and Conditional Split transformations use to populate columns, or to direct data rows to different transformation outputs. 예를 들어 @varSalutation + LastName식은 VarSalutation 변수와 LastName 열의 값을 연결합니다.For example, the expression, @varSalutation + LastName, concatenates the value in the VarSalutation variable and the LastName column. Income < @HighIncome식은 Income 열의 값이 HighIncome 변수의 값보다 작은 데이터 행을 출력에 전송합니다.The expression, Income < @HighIncome, directs data rows in which the value of the Income column is less than the value in the HighIncome variable to an output. 자세한 내용은 파생 열 변환, 조건부 분할 변환Integration Services(SSIS) 식을 참조하세요.For more information, see Derived Column Transformation, Conditional Split Transformation, and Integration Services (SSIS) Expressions.

선행 제약 조건 식 제약 조건이 지정된 실행 개체가 실행되는지 여부를 결정하기 위해 선행 제약 조건에서 사용할 값을 제공합니다.Precedence Constraint Expressions Provide values to use in precedence constraints to determine whether a constrained executable runs. 식을 실행 결과(성공, 실패, 완료)와 함께 사용하거나 실행 결과 대신에 사용할 수 있습니다.The expressions can be used either together with an execution outcome (success, failure, completion), or instead of an execution outcome. 예를 들어 @varMax > @varMin식이 true로 계산될 경우 실행 개체가 실행됩니다.For example, if the expression, @varMax > @varMin, evaluates to true, the executable runs. 자세한 내용은 선행 제약 조건에 식 추가를 참조하세요.For more information, see Add Expressions to Precedence Constraints.

매개 변수 및 반환 코드 입력 매개 변수에 대한 값을 제공하거나 출력 매개 변수 및 반환 코드의 값을 저장합니다.Parameters and Return Codes Provide values to input parameters, or store the values of output parameters and return codes. 변수를 매개 변수 및 반환 값에 매핑하여 이 작업을 수행합니다.You do this by mapping the variables to parameters and return values. 예를 들어 varProductId 변수를 23으로 설정하고 SQL 문 SELECT * from Production.Product WHERE ProductID = ?를 실행할 경우 쿼리는 ProductID 가 23인 제품을 검색합니다.For example, if you set the variable varProductId to 23 and run the SQL statement, SELECT * from Production.Product WHERE ProductID = ?, the query retrieves the product with a ProductID of 23. 자세한 내용은 SQL 실행 태스크SQL 실행 태스크의 매개 변수 및 반환 코드를 참조하세요.For more information, see Execute SQL Task and Parameters and Return Codes in the Execute SQL Task.

For 루프 식 For 루프의 초기화, 계산 및 대입 식에서 사용할 값을 제공합니다.For Loop Expressions Provide values to use in the initialization, evaluation, and assignment expressions of the For Loop. 예를 들어 varCount 변수가 2, varMaxCount 변수가 10, 초기화 식이 @varCount, 계산 식이 @varCount < @varMaxCount, 대입 식이 @varCount =@varCount +1인 경우 루프는 8번 반복됩니다.For example, if the variable varCount is 2 and varMaxCount is 10, the initialization expression is @varCount, the evaluation expression is @varCount < @varMaxCount, and the assignment expression is @varCount =@varCount +1, then the loop repeats 8 times. 자세한 내용은 For Loop Container을 참조하세요.For more information, see For Loop Container.

부모 패키지 변수 구성 부모 패키지에서 자식 패키지로 값을 전달합니다.Parent Package Variable Configurations Pass values from parent packages to child packages. 자식 패키지는 부모 패키지 변수 구성을 사용하여 부모 패키지의 변수에 액세스할 수 있습니다.Child packages can access variables in the parent package by using parent package variable configurations. 예를 들어 자식 패키지가 부모 패키지와 동일한 데이터를 사용해야 할 경우 자식 패키지는 부모 패키지의 GETDATE 함수에서 설정한 변수를 지정하는 부모 패키지 변수 구성을 정의할 수 있습니다.For example, if the child package must use the same date as the parent package, the child package can define a parent package variable configuration that specifies a variable set by the GETDATE function in the parent package. 자세한 내용은 Execute Package TaskPackage Configurations를 참조하세요.For more information, see Execute Package Task and Package Configurations.

스크립트 태스크 및 스크립트 구성 요소 스크립트 태스크 또는 스크립트 구성 요소에 대한 읽기 전용 및 읽기/쓰기 변수 목록을 제공하고 스크립트 내에서 읽기/쓰기 변수를 업데이트한 다음 스크립트 내부 또는 외부에서 업데이트된 값을 사용합니다.Script Task and Script Component Provide a list of read-only and read/write variable to the Script task or Script component, update the read/write variables within the script, and then use the updated values in or outside the script. 예를 들어 numberOfCars = CType(Dts.Variables("NumberOfCars").Value, Integer)코드에서 스크립트 변수 numberOfCarsNumberOfCars변수의 값에 의해 업데이트됩니다.For example, in the code, numberOfCars = CType(Dts.Variables("NumberOfCars").Value, Integer), the script variable numberOfCars is updated by the value in the variable, NumberOfCars. 자세한 내용은 Using Variables in the Script Task을 참조하세요.For more information, see Using Variables in the Script Task.

변수 추가Add a variable

  1. SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT)에서 작업하려는 Integration ServicesIntegration Services 패키지를 엽니다.In SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services package you want to work with.

  2. 솔루션 탐색기에서 패키지를 두 번 클릭하여 엽니다.In Solution Explorer, double-click the package to open it.

  3. 다음 중 하나를 수행하여 SSISSSIS 디자이너에서 변수 범위를 정의하십시오.In SSISSSIS Designer, to define the scope of the variable, do one of the following:

    • 패키지 범위를 설정하려면 제어 흐름 탭의 디자인 화면에서 아무 곳이나 클릭합니다.To set the scope to the package, click anywhere on the design surface of the Control Flow tab.

    • 이벤트 처리기의 범위를 설정하려면 이벤트 처리기 탭의 디자인 화면에서 실행 파일 및 이벤트 처리기를 선택합니다.To set the scope to an event handler, select an executable and an event handler on the design surface of the Event Handler tab.

    • 태스크 또는 컨테이너의 범위를 설정하려면 제어 흐름 탭 또는 이벤트 처리기 탭의 디자인 화면에서 태스크 또는 컨테이너를 클릭합니다.To set the scope to a task or container, on the design surface of the Control Flow tab or the Event Handler tab, click a task or container.

  4. SSIS 메뉴에서 변수를 클릭합니다.On the SSIS menu, click Variables. 옵션 대화 상자의 키보드 페이지에서 필요에 따라 선택한 키 조합에 View.Variables 명령을 매핑하여 변수 창을 표시할 수 있습니다.You can optionally display the Variables window by mapping the View.Variables command to a key combination of your choosing on the Keyboard page of the Options dialog box.

  5. 변수 창에서 변수 추가 아이콘을 클릭합니다.In the Variables window, click the Add Variable icon. 새 변수가 목록에 추가됩니다.The new variable is added to the list.

  6. 필요에 따라 표 옵션 아이콘을 클릭하고 가변 눈금 옵션 대화 상자에 표시할 추가 열을 선택한 다음 확인을 클릭합니다.Optionally, click the Grid Options icon, select additional columns to show in the Variables Grid Options dialog box, and then click OK.

  7. 필요에 따라 변수 속성을 설정합니다.Optionally, set the variable properties. 자세한 내용은 사용자 정의 변수의 속성 설정을 참조하세요.For more information, see Set the Properties of a User-Defined Variable.

  8. 업데이트된 패키지를 저장하려면 파일 메뉴에서 선택한 항목 저장 을 클릭합니다.To save the updated package, click Save Selected Items on the File menu.

변수 추가 대화 상자Add Variable dialog box

변수 추가 대화 상자를 사용하여 새 변수의 속성을 지정할 수 있습니다.Use the Add Variable dialog box to specify the properties of a new variable.

옵션Options

컨테이너Container
목록에서 컨테이너를 선택합니다.Select a container in the list. 컨테이너는 변수의 범위를 정의합니다.The container defines the scope of the variable. 컨테이너는 패키지 또는 패키지의 실행 파일일 수 있습니다.The container can be either the package or an executable in the package.

이름Name
변수 이름을 입력합니다.Type the variable name.

네임스페이스Namespace
변수의 네임스페이스를 지정합니다.Specify the namespace of the variable. 기본적으로 사용자 정의 변수는 User 네임스페이스에 있습니다.By default, user-defined variables are in the User namespace.

값 형식Value type
데이터 형식을 선택합니다.Select a data type.

ValueValue
값을 입력합니다.Type a value. 이 값은 값 유형 옵션에 지정한 데이터 형식과 호환되어야 합니다.The value must be compatible with the data type specified in the Value type option.

읽기 전용Read-only
변수를 읽기 전용으로 만들려면 선택합니다.Select to make the variable read-only.

변수 삭제Delete a variable

  1. SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT)에서 원하는 패키지가 들어 있는 Integration ServicesIntegration Services 프로젝트를 엽니다.In SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services project that contains the package you want.

  2. 솔루션 탐색기에서 패키지를 마우스 오른쪽 단추로 클릭하여 엽니다.In Solution Explorer, right-click the package to open it.

  3. SSIS 메뉴에서 변수를 클릭합니다.On the SSIS menu, click Variables. 옵션 대화 상자의 키보드 페이지에서 필요에 따라 선택한 키 조합에 View.Variables 명령을 매핑하여 변수 창을 표시할 수 있습니다.You can optionally display the Variables window by mapping the View.Variables command to a key combination of your choosing on the Keyboard page of the Options dialog box.

  4. 삭제할 변수를 선택한 다음 변수 삭제를 클릭합니다.Select the variable to delete, and then click Delete Variable.

    변수 창에 변수가 표시되지 않는 경우 표 옵션 을 클릭하고 모든 범위의 변수 표시를 선택합니다.If you don’t see the variable in the Variables window, click Grid Options and then select Show variables of all scopes.

  5. 변수 삭제 확인 대화 상자에서 를 클릭하여 삭제를 확인합니다.If the Confirm Deletion of Variables dialog box opens, click Yes to confirm.

  6. 업데이트된 패키지를 저장하려면 파일 메뉴에서 선택한 항목 저장 을 클릭합니다.To save the updated package, click Save Selected Items on the File menu.

변수의 범위를 변경 합니다.Change the scope of a variable

  1. SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT)에서 원하는 패키지가 들어 있는 Integration ServicesIntegration Services 프로젝트를 엽니다.In SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services project that contains the package you want.

  2. 솔루션 탐색기에서 패키지를 마우스 오른쪽 단추로 클릭하여 엽니다.In Solution Explorer, right-click the package to open it.

  3. SSIS 메뉴에서 변수를 클릭합니다.On the SSIS menu, click Variables. 옵션 대화 상자의 키보드 페이지에서 필요에 따라 선택한 키 조합에 View.Variables 명령을 매핑하여 변수 창을 표시할 수 있습니다.You can optionally display the Variables window by mapping the View.Variables command to a key combination of your choosing on the Keyboard page of the Options dialog box.

  4. 변수를 선택한 다음 변수 이동을 클릭합니다.Select the variable and then click Move Variable.

    변수 창에 변수가 표시되지 않는 경우 표 옵션 을 클릭하고 모든 범위의 변수 표시를 선택합니다.If you don’t see the variable in the Variables window, click Grid Options and then select Show variables of all scopes.

  5. 새 범위 선택 대화 상자에서 변수 범위를 변경할 패키지나 패키지에 들어 있는 컨테이너, 태스크 또는 이벤트 처리기를 선택합니다.In the Select New Scope dialog box, select the package or a container, task, or event handler in the package, to change the variable scope.

  6. 업데이트된 패키지를 저장하려면 파일 메뉴에서 선택한 항목 저장 을 클릭합니다.To save the updated package, click Save Selected Items on the File menu.

사용자 정의 변수의 속성 설정Set the properties of a user-defined variable

Integration ServicesIntegration Services에서 사용자 정의 변수의 속성을 설정하려면 다음 기능 중 하나를 사용합니다.To set the properties of a user-defined variable in Integration ServicesIntegration Services, you can use one of the following features:

  • 변수 창.Variables window.

  • 속성 창.Properties window. 속성 창에는 변수 창에서 사용할 수 없는 변수를 구성하기 위한 Description, EvaluateAsExpression, Expression, ReadOnly, ValueType 및 IncludeInDebugDump 속성이 나열됩니다.The Properties window lists properties for configuring variables that are not available in the Variables window: Description, EvaluateAsExpression, Expression, ReadOnly, ValueType, and IncludeInDebugDump.

참고

Integration ServicesIntegration Services속성을 가진를 업데이트할 수 없는 RaiseChangedEvent 속성이 제외 하 고 시스템 변수 집합도 제공 합니다. also provides a set of system variables whose properties cannot be updated, with the exception of the RaiseChangedEvent property.

집합 식에서 변수 변수Set expressions on variables

속성 창을 사용하여 사용자 정의 변수의 식을 설정하는 경우 다음을 참조하세요.When you use the Properties window to set expressions on a user-defined variable:

  • 변수 값은 Value 또는 Expression 속성에서 설정할 수 있습니다.The value of a variable can be set by the Value or the Expression property. 기본적으로 EvaluateAsExpression 속성은 False 로 설정되고 변수 값은 Value 속성에서 설정합니다.By default, the EvaluateAsExpression property is set to False and the value of the variable is set by the Value property. 식을 사용하여 값을 설정하려면 먼저 EvaluateAsExpression을 True로 설정한 다음 Expression 속성에서 식을 제공합니다.To use an expression to set the value, you must first set EvaluateAsExpression to True, and then provide an expression in the Expression property. Value 속성은 이 식의 계산 결과로 자동으로 설정됩니다.The Value property is automatically set to the evaluation result of the expression.

  • ValueType 속성에는 Value 속성에 있는 값의 데이터 형식이 포함됩니다.The ValueType property contains the data type of the value in the Value property. Value가 식에서 설정된 경우 ValueType은 해당 식의 계산 결과와 호환되는 데이터 형식으로 자동으로 업데이트됩니다.When Value is set by an expression, ValueType is automatically updated to a data type that is compatible with the evaluation result of the expression. 예를 들어 Value에 0이 포함되어 있고 ValueType 속성에 Int32 가 포함되어 있으며 Expression을 GETDATE()로 설정할 경우 Value에는 현재 날짜와 시간이 포함되며 ValueType은 DateTime으로 설정됩니다.For example, if Value contains 0 and ValueType property contains Int32 and you then set Expression to GETDATE(), Value contains the current date and time and ValueType is set to DateTime.

  • 변수에 대한 속성 창에서 식 작성기 대화 상자에 액세스할 수 있습니다.The Properties window for the variable provides access to the Expression Builder dialog box. 이 도구를 사용하여 식 작성, 유효성 검사 및 계산을 수행할 수 있습니다.You can use this tool to build, validate, and evaluate expressions. 자세한 내용은 식 작성기Integration Services(SSIS) 식을 참조하세요.For more information, see Expression Builder and Integration Services (SSIS) Expressions.

    변수 창을 사용하여 사용자 정의 변수의 식을 설정하는 경우 다음을 참조하세요.When you use the Variables window to set expressions on a user-defined variable:

  • 식을 사용하여 변수 값을 설정하려면 먼저 변수 데이터 형식이 식의 계산 결과와 호환되는지 확인한 다음 변수 창의 열에 식을 제공합니다.To use an expression to set the variable value, first confirm that the variable data type is compatible with the evaluation result of the expression and then provide an expression in the Expression column of the Variables window. 속성 창의 EvaluateAsExpression 속성이 자동으로 True로 설정됩니다.The EvaluateAsExpression property in the Properties window is automatically set to True.

  • 변수에 식을 할당할 경우 해당 변수 옆에 특수 아이콘 표식이 표시됩니다.When you assign an expression to a variable, a special icon marker displays next to the variable. 이 특수 아이콘 표식은 식이 설정되어 있는 연결 관리자 및 태스크 옆에도 표시됩니다.This special icon marker also displays next to connection managers and tasks that have expressions set on them.

  • 변수에 대한 변수 창에서 식 작성기 대화 상자에 액세스할 수 있습니다.The Variables window for the variable provides access to the Expression Builder dialog box. 이 도구를 사용하여 식 작성, 유효성 검사 및 계산을 수행할 수 있습니다.You can use this tool to build, validate, and evaluate expressions. 자세한 내용은 식 작성기Integration Services(SSIS) 식을 참조하세요.For more information, see Expression Builder and Integration Services (SSIS) Expressions.

    변수에 식을 할당하고 EvaluateAsExpressionTrue 로 설정된 경우 변수 창과 속성창 모두에서 변수 데이터 형식을 변경할 수 없습니다.In both the Variables and Properties window, if you assign an expression to the variable, and EvaluateAsExpression is set to True, you cannot change the variable data type.

Namespace 및 이름 속성 설정Set the Namespace and Name properties

NameNamespace 속성 값은 Unicode Standard 2.0에 정의된 대로 영문자 또는 밑줄()로 시작해야 합니다.The values of the Name and Namespace properties must begin with an alphabetic character letter as defined by the Unicode Standard 2.0, or an underscore (). 후속 문자는 Unicode Standard 2.0에 정의된 문자 또는 숫자이거나 밑줄(_)일 수 있습니다.Subsequent characters can be letters or numbers as defined in the Unicode Standard 2.0, or the underscore (_).

변수 창에서 변수 속성 설정Set Variable Properties in the Variables Window

  1. SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT)에서 원하는 패키지가 들어 있는 Integration ServicesIntegration Services 프로젝트를 엽니다.In SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services project that contains the package you want.

  2. 솔루션 탐색기에서 패키지를 마우스 오른쪽 단추로 클릭하여 엽니다.In Solution Explorer, right-click the package to open it.

  3. SSIS 메뉴에서 변수를 클릭합니다.On the SSIS menu, click Variables.

    옵션 대화 상자의 키보드 페이지에서 필요에 따라 선택한 키 조합에 View.Variables 명령을 매핑하여 변수 창을 표시할 수 있습니다.You can optionally display the Variables window by mapping the View.Variables command to a key combination of your choosing on the Keyboard page of the Options dialog box.

  4. 필요에 따라 변수 창에서 표 옵션을 클릭하고 변수 창에 표시할 열을 선택한 다음 변수 목록에 적용할 필터를 선택합니다.Optionally, in the Variables window click Grid Options, and then select the columns to appear in the Variables window and select the filters to apply to the list of variables.

  5. 목록에서 변수를 선택한 다음 이름, 데이터 형식, , 네임스페이스, 변경 이벤트 발생, 설명 열의 값을 업데이트합니다.Select the variable in the list, and then update values in the Name, Data Type, Value, Namespace, Raise Change Event, Description, and Expression columns.

  6. 목록에서 변수를 선택하고 변수 이동 을 클릭하여 범위를 변경합니다.Select the variable in the list, and then click Move Variable to change the scope.

  7. 업데이트된 패키지를 저장하려면 파일 메뉴에서 선택한 항목 저장을 클릭합니다.To save the updated package, on the File menu, click Save Selected Items.

속성 창에서 변수 속성 설정Set Variable Properties in the Properties Window

  1. SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT)에서 원하는 패키지가 들어 있는 Integration ServicesIntegration Services 프로젝트를 엽니다.In SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT), open the Integration ServicesIntegration Services project that contains the package you want.

  2. 솔루션 탐색기에서 패키지를 마우스 오른쪽 단추로 클릭하여 엽니다.In Solution Explorer, right-click the package to open it.

  3. 보기 메뉴에서 속성 창을 클릭합니다.On the View menu, click Properties Window.

  4. SSISSSIS 디자이너에서 패키지 탐색기 탭을 클릭하고 패키지 노드를 확장합니다.In SSISSSIS Designer, click the Package Explorer tab and expand the Package node.

  5. 패키지 범위의 변수를 수정하려면 변수 노드를 확장합니다. 그렇지 않으면 수정할 변수가 있는 변수 노드를 찾을 때까지 이벤트 처리기 또는 실행 파일 노드를 확장합니다.To modify variables with package scope, expand the Variables node; otherwise, expand the Event Handlers or Executables nodes until you locate the Variables node that contains the variable that you want to modify.

  6. 속성을 수정할 변수를 클릭합니다.Click the variable whose properties you want to modify.

  7. 속성 창에서 읽기/쓰기 변수 속성을 업데이트합니다.In the Properties window, update the read/write variable properties. 일부 속성은 사용자 정의 변수에 대해 읽기/읽기 전용입니다.Some properties are read/read only for user-defined variables.

    속성에 대 한 자세한 내용은 참조 하십시오. Integration services( Ssis) 변수합니다.For more information about the properties, see Integration Services (SSIS) Variables.

  8. 업데이트된 패키지를 저장하려면 파일 메뉴에서 선택한 항목 저장을 클릭합니다.To save the updated package, on the File menu, click Save Selected Items.

구성 변수를 동적으로 업데이트Update a variable dynamically with configurations

변수를 동적으로 업데이트하려면 변수에 대한 구성을 만들고 패키지와 함께 구성을 배포한 다음 패키지를 배포할 때 구성 파일 내의 변수 값을 업데이트하십시오.To dynamically update variables, you can create configurations for the variables, deploy the configurations with the package, and then update the variable values in the configuration file when you deploy the packages. 패키지는 런타임에 업데이트된 변수 값을 사용합니다.At run time, the package uses the updated variable values. 자세한 내용은 패키지 구성 만들기를 참조하세요.For more information, see Create Package Configurations.

자식 패키지에서 변수 및 매개 변수의 값 사용Use the Values of Variables and Parameters in a Child Package

쿼리 매개 변수를 데이터 흐름 구성 요소의 변수에 매핑Map Query Parameters to Variables in a Data Flow Component