SQL 실행 작업

업데이트: 2007년 9월 15일

SQL 실행 작업은 패키지에서 SQL 문이나 저장 프로시저를 실행합니다. 이 작업은 단일 SQL 문 또는 순서대로 실행되는 여러 SQL 문을 포함할 수 있습니다. SQL 실행 작업은 다음 용도로 사용할 수 있습니다.

  • 데이터를 삽입하기 위해 테이블 또는 뷰를 자릅니다.
  • 테이블 및 뷰와 같은 데이터베이스 개체를 만들고 변경 및 삭제합니다.
  • 팩트 및 차원 테이블에 데이터를 로드하기 전에 해당 테이블을 다시 만듭니다.
  • 저장 프로시저를 실행합니다.
  • 쿼리에서 반환된 행 집합을 변수에 저장합니다.

다음과 같은 방법으로 SQL 실행 작업을 구성할 수 있습니다.

  • 데이터베이스에 연결할 때 사용할 연결 관리자 유형을 지정합니다.
  • SQL 문에서 반환되는 결과 집합 유형을 지정합니다.
  • SQL 문의 제한 시간을 지정합니다.
  • SQL 문의 원본을 지정합니다.
  • 작업에서 SQL 문의 준비 단계를 건너뛸지를 나타냅니다.
  • ADO 연결 유형을 사용하는 경우 SQL 문이 저장 프로시저인지 여부를 나타내야 합니다. 다른 연결 유형에서 이 속성은 읽기 전용이며 항상 false 값을 갖습니다.

SQL 실행 작업을 Foreach 루프 및 For 루프 컨테이너와 함께 사용하여 여러 개의 SQL 문을 실행할 수 있습니다. 두 컨테이너는 패키지의 반복 제어 흐름을 구현하며 SQL 실행 작업을 반복해서 실행할 수 있습니다. 예를 들어 Foreach 루프 컨테이너를 사용하면 패키지가 폴더에 있는 파일을 열거하고 SQL 실행 작업을 반복 실행하여 각 파일에 저장된 SQL 문을 실행할 수 있습니다.

데이터 원본에 연결

SQL 실행 작업은 여러 유형의 연결 관리자를 사용하여 SQL 문이나 저장 프로시저가 실행될 데이터 원본에 연결할 수 있습니다. 다음 표에 나열된 연결 유형을 사용할 수 있습니다.

연결 유형 연결 관리자

EXCEL

Excel 연결 관리자

OLE DB

OLE DB 연결 관리자

ODBC

ODBC 연결 관리자

ADO

ADO 연결 관리자

ADO.NET

ADO.NET 연결 관리자

SQLMOBILE

SQL Server Compact Edition 연결 관리자

SQL 문 만들기

이 작업에 사용되는 SQL 문의 원본은 문이 포함된 작업 속성, 하나 이상의 문이 포함된 파일에 대한 연결 또는 문이 포함된 변수 이름일 수 있습니다. SQL 문은 원본 DBMS(데이터베이스 관리 시스템) 언어로 기록되어야 합니다.

SQL 문이 파일에 저장되어 있을 경우 SQL 실행 작업은 파일 연결 관리자를 사용하여 해당 파일에 연결합니다. 자세한 내용은 파일 연결 관리자를 참조하십시오.

SSIS 디자이너에서는 SQL 실행 작업 편집기 대화 상자를 사용하여 SQL 문을 입력하거나 SQL 쿼리 작성용 그래픽 사용자 인터페이스인 쿼리 작성기를 사용할 수 있습니다.

[!참고] SQL 실행 작업 외부에서 작성된 SQL 문은 유효하더라도 SQL 실행 작업에서 성공적으로 구문 분석되지 않을 수도 있습니다.

여러 개의 문을 일괄 처리로 전송

SQL 실행 작업에 여러 개의 문이 포함된 경우 문을 그룹화하여 일괄 처리로 실행할 수 있습니다. 일괄 처리의 마지막을 알리려면 GO 명령을 사용합니다. 두 GO 명령 사이의 모든 SQL 문은 일괄 처리로 실행되도록 OLE DB 공급자에 전송됩니다. SQL 명령은 GO 명령으로 구분된 여러 개의 일괄 처리를 포함할 수 있습니다.

일괄 처리로 그룹화할 수 있는 SQL 문의 종류에는 제한이 있습니다. 자세한 내용은 Batches of Statements를 참조하십시오.

SQL 실행 작업에서 SQL 문의 일괄 처리를 실행하는 경우 해당 일괄 처리에 다음 규칙이 적용됩니다.

  • 일괄 처리의 첫 번째 문 하나만 결과 집합을 반환할 수 있습니다.
  • 결과 집합에 결과 바인딩을 사용하는 경우 쿼리에서 동일한 수의 열이 반환되어야 합니다. 쿼리에서 반환된 열 수가 서로 다르면 작업이 실패합니다. 그러나 작업이 실패해도 해당 작업에서 실행하는 DELETE 또는 INSERT와 같은 쿼리는 성공할 수 있습니다.
  • 결과 바인딩에 열 이름을 사용하는 경우 작업에 사용된 결과 집합 이름과 동일한 이름이 포함된 열이 쿼리에서 반환되어야 합니다. 해당 열이 없으면 작업이 실패합니다.
  • 작업에 매개 변수 바인딩이 사용되는 경우 일괄 처리의 모든 쿼리에 동일한 수와 유형의 매개 변수를 사용해야 합니다.

매개 변수가 있는 SQL 명령 실행

SQL 문과 저장 프로시저는 일반적으로 입력 매개 변수, 출력 매개 변수 및 반환 코드를 사용합니다. SQL 실행 작업은 Input, OutputReturnValue 매개 변수 유형을 지원합니다. 입력 매개 변수에는 Input 유형, 출력 매개 변수에는 Output 유형, 반환 코드에는 ReturnValue 유형을 사용합니다.

[!참고] 데이터 공급자가 지원하는 경우에만 SQL 실행 작업에 매개 변수를 사용할 수 있습니다.

쿼리와 저장 프로시저를 포함하여 SQL 명령의 매개 변수는 SQL 실행 작업의 범위, 부모 컨테이너 또는 패키지 범위 내에서 생성된 사용자 정의 변수에 매핑됩니다. 변수 값은 디자인 타임에 설정하거나 런타임에 동적으로 채울 수 있습니다. 매개 변수를 시스템 변수에 매핑할 수도 있습니다. 자세한 내용은 Integration Services 변수시스템 변수를 참조하십시오.

SQL 실행 작업이 사용하는 연결 유형에 따라 SQL 명령 구문이 사용하는 매개 변수 표식이 달라집니다. 예를 들어 ADO.NET 연결 관리자 유형을 사용하려면 SQL 명령에 @varParameter 형식의 매개 변수 표식을 사용해야 하지만 OLE DB 연결 유형에는 물음표(?) 매개 변수 표식을 사용해야 합니다.

변수와 매개 변수 간 매핑에 매개 변수 이름으로 사용할 수 있는 이름도 연결 관리자 유형에 따라 달라집니다. 예를 들어 ADO.NET 연결 관리자 유형에는 @ 접두사가 있는 사용자 정의 이름을 사용하지만 OLE DB 연결 관리자 유형에는 0부터 시작하는 서수의 숫자 값을 매개 변수 이름으로 사용해야 합니다.

다음 표에서는 SQL 실행 작업이 사용할 수 있는 연결 관리자 유형에 대한 SQL 명령 요구 사항을 요약합니다.

연결 유형 매개 변수 표식 매개 변수 이름 SQL 명령 예

ADO

?

Param1, Param2, ...

SELECT FirstName, LastName, Title FROM Person.Contact WHERE ContactID = ?

ADO.NET

@<parameter name>

@<parameter name>

SELECT FirstName, LastName, Title FROM Person.Contact WHERE ContactID = @parmContactID

ODBC

?

1, 2, 3, …

SELECT FirstName, LastName, Title FROM Person.Contact WHERE ContactID = ?

EXCEL 및 OLE DB

?

0, 1, 2, 3, …

SELECT FirstName, LastName, Title FROM Person.Contact WHERE ContactID = ?

ADO.NET 연결 관리자의 매개 변수

ADO.NET 연결 관리자를 사용하려면 SQL 명령에 매개 변수 이름을 매개 변수 표식으로 사용해야 합니다. 즉, 변수를 매개 변수에 직접 매핑할 수 있습니다. 예를 들어 @varName 변수는 @parName이라는 매개 변수에 매핑되고 @parName 매개 변수에 값을 제공합니다.

EXCEL, ODBC 및 OLE DB 연결 관리자의 매개 변수

EXCEL, ODBC 및 OLE DB 연결 관리자를 사용하려면 SQL 명령에 물음표(?)를 매개 변수 표식으로 사용하고 0 또는 1부터 시작하는 숫자 값을 매개 변수 이름으로 사용해야 합니다. SQL 실행 작업이 ODBC 연결 관리자를 사용하는 경우 쿼리의 첫 번째 매개 변수에 매핑되는 매개 변수 이름은 1이고 그렇지 않은 경우 매개 변수 이름은 0입니다. 다음에 나오는 매개 변수의 경우에도 매개 변수 이름의 숫자 값이 SQL 명령에서 매개 변수 이름이 매핑되는 매개 변수를 나타냅니다. 예를 들어 이름이 3인 매개 변수는 세 번째 매개 변수에 매핑되며 SQL 명령에서 세 번째 물음표(?)로 표시됩니다.

매개 변수에 값을 제공하기 위해 변수가 매개 변수 이름에 매핑되고 SQL 실행 작업이 매개 변수 이름의 서수 값을 사용하여 변수 값을 매개 변수로 로드합니다.

실행 작업에서 OLE DB 연결 유형을 사용하는 경우 해당 작업의 BypassPrepare 속성을 사용할 수 있습니다. SQL 실행 작업에서 매개 변수가 있는 SQL 문을 사용하는 경우에는 이 속성을 true로 설정해야 합니다.

OLE DB 연결 관리자를 사용하는 경우에는 SQL 실행 작업에서 OLE DB 공급자를 통해 매개 변수 정보를 가져올 수 없으므로 매개 변수가 있는 하위 쿼리를 사용할 수 없습니다. 그러나 매개 변수 값을 쿼리 문자열로 연결하고 해당 작업의 SqlStatementSource 속성을 설정하는 식은 사용할 수 있습니다.

연결 관리자에서 사용하는 공급자에 따라 일부 OLE DB 데이터 형식이 지원되지 않을 수 있습니다. 예를 들어 Excel 드라이버는 제한된 데이터 형식 집합만 인식합니다. Excel 드라이버를 사용하는 Jet 공급자의 동작에 대한 자세한 내용은 Excel 원본을 참조하십시오.

ADO 연결 관리자의 매개 변수

ADO 연결 관리자를 사용하려면 SQL 명령에 물음표(?)를 매개 변수 표식으로 사용해야 하지만 정수 값을 제외한 모든 사용자 정의 이름을 매개 변수 이름으로 사용할 수 있습니다.

매개 변수에 값을 제공하기 위해 변수가 매개 변수 이름에 매핑되고 SQL 실행 작업이 매개 변수 목록에 있는 매개 변수 이름의 서수 값을 사용하여 변수 값을 매개 변수로 로드합니다.

WHERE 절에 매개 변수 사용

원본 테이블의 각 행이 SQL 명령에 적합하도록 만들기 위해 만족시켜야 할 조건을 정의하는 필터를 지정하기 위해 SELECT, INSERT, UPDATE 및 DELETE 명령에 WHERE 절을 포함하는 경우가 많습니다. 매개 변수는 WHERE 절에 필터 값을 제공합니다.

매개 변수 표식을 사용하여 매개 변수 값을 동적으로 제공할 수 있습니다. SQL 문에 사용할 수 있는 매개 변수 표식 및 매개 변수 이름에 대한 규칙은 SQL 실행이 사용하는 연결 관리자 유형에 따라 달라집니다.

다음 표에서는 연결 관리자 유형별 SELECT 명령의 예를 나열합니다. INSERT, UPDATE 및 DELETE 문도 이와 비슷합니다. 이 예에서는 SELECT를 사용하여 AdventureWorksProduct 테이블에서 두 매개 변수로 지정된 값보다 크거나 작은 ProductID가 있는 제품을 반환합니다.

연결 유형 SELECT 구문

EXCEL, ODBC 및 OLEDB

SELECT* FROM Production.Product WHERE ProductId > ? AND ProductID < ?

ADO

SELECT* FROM Production.Product WHERE ProductId > ? AND ProductID < ?

ADO.NET

SELECT* FROM Production.Product WHERE ProductId > @parmMinProductID AND ProductID < @parmMaxProductID

이 예에서는 다음과 같은 이름의 매개 변수가 필요합니다.

  • EXCEL 및 OLED DB 연결 관리자에서는 매개 변수 이름으로 0 및 1을 사용하고 ODBC 연결 유형에서는 1 및 2를 사용합니다.
  • ADO 연결 유형에서는 Param1 및 Param2와 같은 임의의 두 매개 변수 이름을 사용할 수 있지만 이러한 매개 변수는 매개 변수 목록에서의 서수 위치에 따라 매핑되어야 합니다.
  • ADO.NET 연결 유형에서는 매개 변수 이름 @parmMinProductID@parmMaxProductID를 사용합니다.

저장 프로시저에 매개 변수 사용

저장 프로시저를 실행하는 SQL 명령도 매개 변수 매핑을 사용할 수 있습니다. 매개 변수 표식 및 매개 변수 이름 사용 방법에 대한 규칙은 매개 변수가 있는 쿼리에 대한 규칙에서와 마찬가지로 SQL 실행이 사용하는 연결 관리자 유형에 따라 달라집니다.

다음 표에서는 연결 관리자 유형별 EXEC 명령의 예를 나열합니다. 이 예에서는 AdventureWorks에서 uspGetBillOfMaterials 저장 프로시저를 실행합니다. 이 저장 프로시저는 @StartProductID@CheckDate 입력 매개 변수를 사용합니다.

연결 유형 EXEC 구문

EXCEL 및 OLEDB

EXEC uspGetBillOfMaterials ?, ?

ODBC

{call uspGetBillOfMaterials(?, ?)}

ODBC 호출 구문에 대한 자세한 내용은 MSDN Library의 ODBC 프로그래머 참조에서 프로시저 매개 변수(Procedure Parameters) 항목을 참조하십시오.

ADO

IsQueryStoredProcedureFalse로 설정된 경우 EXEC uspGetBillOfMaterials ?, ?

IsQueryStoredProcedureTrue로 설정된 경우 uspGetBillOfMaterials

ADO.NET

IsQueryStoredProcedureFalse로 설정된 경우 EXEC uspGetBillOfMaterials @StartProductID, @CheckDate

IsQueryStoredProcedureTrue로 설정된 경우 uspGetBillOfMaterials

출력 매개 변수를 사용하려면 구문에서 각 매개 변수 표식 다음에 OUTPUT 키워드가 와야 합니다. EXEC myStoredProcedure ? OUTPUT과 같이 먼저 변수를 형변환해야 합니다.

Transact-SQL 저장 프로시저에서의 입력 및 출력 매개 변수 사용 방법은 매개 변수(데이터베이스 엔진), OUTPUT 매개 변수를 사용하여 데이터 반환EXECUTE(Transact-SQL)를 참조하십시오.

반환 코드 값 가져오기

저장 프로시저는 반환 코드라고 하는 정수 값을 반환하여 프로시저의 실행 상태를 표시할 수 있습니다. SQL 실행 작업에 반환 코드를 구현하려면 ReturnValue 유형의 매개 변수를 사용합니다.

다음 표에서는 반환 코드를 구현하는 EXEC 명령의 몇 가지 예를 연결 유형별로 나열합니다. 모든 예에서는 입력 매개 변수를 사용합니다. ReturnValue 매개 변수에서의 매개 변수 표식 및 매개 변수 이름 사용 방법에 대한 규칙은 InputOutput 매개 변수 유형에 적용되는 규칙과 같습니다.

일부 구문은 매개 변수 리터럴을 지원하지 않습니다. 이러한 경우 변수를 사용하여 매개 변수 값을 제공해야 합니다.

연결 유형 EXEC 구문

EXCEL 및 OLEDB

EXEC ? = myStoredProcedure 1

ODBC

{? = call myStoredProcedure(1)}

ODBC 호출 구문에 대한 자세한 내용은 MSDN Library의 ODBC 프로그래머 참조에서 프로시저 매개 변수(Procedure Parameters) 항목을 참조하십시오.

ADO

IsQueryStoreProcedureFalse로 설정된 경우 EXEC ? = myStoredProcedure 1

IsQueryStoreProcedureTrue로 설정된 경우 myStoredProcedure

ADO.NET

IsQueryStoreProcedureTrue로 설정된 경우

myStoredProcedure

Transact-SQL 저장 프로시저에서의 반환 코드 사용 방법은 반환 코드를 사용하여 데이터 반환RETURN(Transact-SQL)을 참조하십시오.

결과 집합 유형 지정

SQL 명령 유형에 따라 SQL 실행 작업에서 결과 집합이 반환될 수도 있고 반환되지 않을 수도 있습니다. 예를 들어 SELECT 문은 일반적으로 결과 집합을 반환하지만 INSERT 문은 결과 집합을 반환하지 않습니다. SELECT 문의 결과 집합은 행을 포함하지 않을 수도 있고, 하나 이상의 행을 포함할 수 있습니다. 저장 프로시저도 반환 코드라고 하는 정수 값을 반환하여 프로시저의 실행 상태를 표시할 수 있습니다. 이 경우에는 결과 집합이 단일 행으로 구성됩니다.

SQL 실행 작업은 다음 유형의 결과 집합을 지원합니다.

  • 없음 결과 집합은 쿼리에서 결과가 반환되지 않을 때 사용합니다. 예를 들어 이 결과 집합은 테이블에서 레코드를 추가, 변경 및 삭제하는 쿼리에 사용됩니다.
  • 단일 행 결과 집합은 쿼리에서 하나의 행만 반환될 때 사용합니다. 예를 들어 이 결과 집합은 반환 코드를 반환하는 저장 프로시저나 개수 또는 합계를 반환하는 SELECT 문에 사용됩니다.
  • 전체 결과 집합 결과 집합은 쿼리에서 여러 개의 행이 반환될 때 사용합니다. 예를 들어 이 결과 집합은 테이블의 모든 행을 검색하는 SELECT 문에 사용됩니다.
  • XML 결과 집합은 쿼리에서 XML 형식의 결과 집합이 반환될 때 사용합니다. 예를 들어 이 결과 집합은 FOR XML 절을 포함한 SELECT 문에 사용됩니다.

SQL 실행 작업이 전체 결과 집합 결과 집합을 사용하고 쿼리가 여러 행 집합을 반환하는 경우 작업은 첫 번째 행 집합만 반환합니다. 이 행 집합에서 오류가 발생하는 경우 작업에서 오류를 보고합니다. 다른 행 집합에서 오류가 발생하는 경우 작업에서 오류를 보고하지 않습니다.

SQL 실행 작업은 SQL 문에서 반환된 문자열이 아닌 값을 문자열로 변환합니다. 예를 들어 SQL Server uniqueidentifier, bigint, decimal 또는 numeric 데이터 형식의 값은 문자열로 변환됩니다.

결과 집합으로 변수 채우기

결과 집합 유형이 단일 행, 행 집합 또는 XML일 경우 쿼리에서 반환된 결과 집합을 사용자 정의 변수에 바인딩할 수 있습니다.

결과 집합 유형이 단일 행인 경우 열 이름을 결과 집합 이름으로 사용하여 반환 결과의 열을 변수에 바인딩하거나 열 목록의 열의 서수 위치를 결과 집합 이름으로 사용할 수 있습니다. 예를 들어 SELECT Color FROM Production.Product WHERE ProductID = ? 쿼리에 대한 결과 집합 이름은 Color 또는 0일 수 있습니다. 쿼리에서 여러 열을 반환하고 모든 열의 값에 액세스하려는 경우 각 열을 다른 변수에 바인딩해야 합니다. 번호를 결과 집합 이름으로 사용하여 열을 변수에 매핑하면 열이 쿼리의 열 목록에 표시되는 순서가 번호로 적용됩니다. 예를 들어 SELECT Color, ListPrice, FROM Production.Product WHERE ProductID = ? 쿼리에서 Color 열에 대해 0을 사용하고 ListPrice 열에 대해 1을 사용할 수 있습니다. 열 이름을 결과 집합 이름으로 사용하는 기능은 작업에서 사용하도록 구성된 공급자에 따라 달라집니다. 일부 공급자만 열 이름을 사용할 수 있습니다.

단일 값을 반환하는 일부 쿼리에는 열 이름이 포함되지 않을 수 있습니다. 예를 들어 SELECT COUNT (*) FROM Production.Product 문은 열 이름을 반환하지 않습니다. 서수 위치인 0을 결과 이름으로 사용하여 반환 결과에 액세스할 수 있습니다. 열 이름별로 반환 결과에 액세스하려면 쿼리에 AS <alias name> 절을 포함하여 열 이름을 제공해야 합니다. SELECT COUNT (*)AS CountOfProduct FROM Production.Product 문은 CountOfProduct 열을 제공합니다. CountOfProduct 열 이름 또는 서수 위치 0을 사용하여 반환 결과 열에 액세스할 수 있습니다.

결과 집합 유형이 전체 결과 집합이나 XML이면 결과 집합 이름으로 0을 사용해야 합니다.

변수를 단일 행 결과 집합 유형이 있는 결과 집합에 매핑하면 변수에는 결과 집합이 포함하는 열의 데이터 형식과 호환되는 데이터 형식이 있어야 합니다. 예를 들어 String 데이터 형식이 있는 열을 포함하는 결과 집합은 숫자 데이터 형식의 변수에 매핑할 수 없습니다. XML 결과 집합은 String 또는 Object 데이터 형식이 있는 변수에만 매핑할 수 있습니다. 변수에 String 데이터 형식이 있는 경우 SQL 실행 작업은 문자열을 반환하고 XML 원본은 XML 데이터를 사용할 수 있습니다. 변수에 Object 데이터 형식이 있는 경우 SQL 실행 작업은 DOM(문서 개체 모델) 개체를 반환합니다. 전체 결과 집합Object 데이터 형식의 변수에 매핑되어야 합니다. 반환 결과는 행 집합 개체입니다. 행 집합 개체를 탐색하고 행 집합의 데이터와 열에 대한 정보에 액세스하는 사용자 지정 작업을 작성할 수 있습니다.

다음 표에는 결과 집합에 매핑될 수 있는 변수의 데이터 형식이 요약되어 있습니다.

결과 집합 유형 변수의 데이터 형식 개체 유형

단일 행

결과 집합의 유형 열과 호환되는 모든 형식

해당 사항 없음

전체 결과 집합

Object

작업에서 ADO, OLE DB, Excel 및 ODBC 연결 관리자를 비롯한 네이티브 연결 관리자를 사용하는 경우 반환되는 개체는 ADO Recordset입니다.

작업에서 ADO.NET 연결 관리자와 같이 관리되는 연결 관리자를 사용하는 경우 반환되는 개체는 System.Data.DataSet입니다.

XML

String

String

XML

Object

작업에서 ADO, OLE DB, Exce 및 ODBC 연결 관리자 등의 네이티브 연결 관리자를 사용하는 경우 반환되는 개체는 MSXML6.IXMLDOMDocument입니다.

작업에서 ADO.NET 연결 관리자와 같이 관리되는 연결 관리자를 사용하는 경우 반환되는 개체는 System.Xml.XmlDocument입니다.

변수는 SQL 실행 작업이나 패키지 범위에서 정의할 수 있습니다. 변수 범위가 패키지이면 해당 패키지 내의 다른 작업과 컨테이너는 물론 패키지 실행 또는 DTS 2000 패키지 실행 작업이 실행한 모든 패키지에서 결과 집합을 사용할 수 있습니다.

변수를 단일 행 결과 집합에 매핑하면 SQL 문이 반환하는 값이 문자열이 아닌 경우 문자열로 변환될 수 있습니다. 변환의 발생 여부 또는 명시적인지, 암시적인지 여부는 사용된 연결 관리자 유형에 따라 다릅니다.

  • ADO.NET 연결 관리자의 경우 변환이 발생하지 않습니다.
  • ADO 또는 ODBC 연결 관리자의 경우 암시적으로 변환이 발생합니다.
  • OLE DB 또는 Excel 연결 관리자의 경우 연결 관리자가 DBTYPE_I8, DBTYPE_UI8, DBTYPE_NUMERIC, DBTYPE_GUID 및 DBTYPE_BYTES 형식의 값을 문자열로 명시적으로 변환합니다.

결과 집합을 변수에 로드하는 방법은 방법: 결과 집합을 SQL 실행 작업의 변수에 매핑을 참조하십시오.

SQL 실행 작업에 사용할 수 있는 사용자 지정 로그 항목

다음 표에서는 SQL 실행 작업에 대한 사용자 지정 로그 항목을 설명합니다. 자세한 내용은 패키지에서 로깅 구현로깅할 메시지 사용자 지정을 참조하십시오.

로그 항목 설명

ExecuteSQLExecutingQuery

SQL 문의 실행 단계에 대한 정보를 제공합니다. 로그 항목은 작업에서 데이터베이스에 대한 연결을 설정할 때, 작업에서 SQL 문 준비를 시작할 때 또는 SQL 문 실행이 완료된 후에 기록됩니다. 준비 단계에 대한 로그 항목은 작업에서 사용하는 SQL 문을 포함합니다.

SQL 실행 작업 문제 해결

Microsoft SQL Server 2005 SP2(서비스 팩 2)부터 SQL 실행 작업이 외부 데이터 공급자에 대해 수행하는 호출을 기록할 수 있습니다. 이 새로운 로깅 기능을 사용하여 SQL 실행 작업이 실행하는 SQL 명령 문제를 해결할 수 있습니다. SQL 실행 작업이 외부 데이터 공급자에 대해 수행하는 호출을 기록하려면 패키지 로깅을 설정하고 패키지 수준에서 Diagnostic 이벤트를 선택합니다. 자세한 내용은 패키지 실행 문제 해결을 참조하십시오.

경우에 따라 SQL 명령 또는 저장 프로시저가 여러 결과 집합을 반환하기도 합니다. 이러한 결과 집합에는 SELECT 쿼리 결과인 행 집합뿐만 아니라 RAISERROR 또는 PRINT 문의 결과인 단일 값도 포함됩니다. ODBC 연결 관리자를 제외한 다른 모든 연결 관리자는 첫 번째 결과 집합 다음에 발생한 결과 집합을 무시합니다. 따라서 이러한 연결 관리자는 첫 번째 결과 집합에 오류가 없으면 SQL 명령 또는 저장 프로시저에서 반환된 오류를 무시합니다.

SQL 실행 작업 구성

프로그래밍 방식을 통해 또는 SSIS 디자이너를 사용하여 속성을 설정할 수 있습니다.

SSIS 디자이너에서 설정할 수 있는 속성에 대한 자세한 내용을 보려면 다음 항목 중 하나를 클릭하십시오.

SSIS 디자이너에서 이러한 속성을 설정하는 방법을 보려면 다음 항목을 클릭하십시오.

프로그래밍 방식으로 SQL 실행 작업 구성

이러한 속성을 프로그래밍 방식으로 설정하는 방법을 보려면 다음 항목을 클릭하십시오.

참고 항목

작업

방법: 쿼리 매개 변수를 SQL 실행 작업의 변수에 매핑

개념

Foreach 루프 컨테이너
For 루프 컨테이너
Integration Services 작업
패키지 제어 흐름 만들기

관련 자료

SQL 문 준비

도움말 및 정보

SQL Server 2005 지원 받기

변경 내역

릴리스 내역

2007년 9월 15일

변경된 내용
  • ODBC 매개 변수 구문 오류를 수정했습니다.
  • 변수를 단일 행 결과 집합으로 매핑할 경우 어떻게 일부 반환 값이 문자열로 변환될 수 있는지에 대해 설명했습니다.
  • 여러 결과 집합에서 발생하는 오류에 대한 문제 해결 정보를 추가했습니다.

2006년 12월 12일

새로운 내용
  • SQL Server 2005 SP2에 포함된 새 로깅 메시지를 사용하여 작업이 외부 데이터 공급자에 대해 수행하는 호출 문제를 해결할 수 있는 방법에 대한 정보를 추가했습니다.

2006년 7월 17일

변경된 내용
  • 사용자 지정 로그 항목을 보여 주는 표를 추가했습니다.
  • 결과 집합에서 반환될 수 있는 개체 유형이 나열된 열을 표에 추가했습니다.
  • XML 문자열과 개체 결과 유형을 구분했습니다.

2006년 4월 14일

변경된 내용
  • 변수와 결과 집합 간의 가능한 매핑을 보여 주는 표를 추가했습니다.
  • BypassPrepare 속성에 대한 정보를 추가했습니다.

2005년 12월 5일

변경된 내용
  • 매개 변수가 있는 SQL 문 실행에 대한 정보를 추가했습니다.