DetailPage-MSS-KB

기술 자료

기술 자료: 906560 - 마지막 검토: 2006년 1월 13일 금요일 - 수정: 1.1

베타 정보
이 문서에서는 Microsoft 제품의 베타 릴리스에 대해 설명합니다. 이 문서의 정보는 "있는 그대로" 제공되며 사전 통보 없이 변경될 수 있습니다.

이 베타 제품은 Microsoft의 공식 제품 지원 서비스를 받을 수 없습니다. 베타 릴리스 지원을 얻는 방법에 대한 자세한 내용은 베타 제품 파일에 포함된 설명서를 참조하거나 릴리스를 다운로드한 웹 사이트를 확인하십시오.

요약

Microsoft SQL Server Business Intelligence Development Studio를 사용하여 Microsoft SSIS(SQL Server 2005 Integration Services) 패키지를 만들 때 작업을 실행하기 위해 SSIS 패키지에 스크립트 작업을 포함할 수 있습니다.

예를 들어, 작업은 Windows 응용 프로그램 이벤트 로그에 변수 정보 모음을 기록할 수 있습니다. 데이터 흐름 작업이 포함된 SSIS 패키지를 만들 수 있습니다. 이 데이터 흐름 작업에는 행 개수 변환이 포함됩니다. 스크립트 작업을 사용하여 행 개수 변환에 의해 채워진 데이터를 Windows 응용 프로그램 이벤트 로그에 기록할 수 있습니다.

이 문서에서는 스크립트 작업을 사용하여 Windows 응용 프로그램 이벤트 로그에 정보를 기록하는 방법을 설명합니다.

추가 정보

이 예제에서는 SSIS 패키지에 다음과 같은 요소를 만들었다고 가정합니다.
  • 데이터 흐름 작업
  • 스크립트 작업
  • 데이터 흐름 작업을 스크립트 작업에 연결하는 커넥터
  • 데이터 흐름 작업에서 데이터 흐름에 만든 행 개수 변환
패키지를 실행하면 행 개수 변환이 Windows 응용 프로그램 이벤트 로그에 기록할 행 개수 데이터를 반환합니다.

이렇게 하려면 SQL Server Business Intelligence Development Studio에서 다음과 같이 하십시오.
  1. 제어 흐름 탭이 활성화되어 있을 때 디자인 화면을 마우스 오른쪽 단추로 누른 다음 변수를 누릅니다. 왼쪽 창에 변수 창이 나타납니다.
  2. 변수 창에서 변수 추가를 누르고 mycount라는 변수를 추가합니다. 기본적으로 새 mycount 변수의 데이터 형식은 Int32입니다.

    참고 변수 이름에 대한 참조는 대/소문자를 구분합니다.
  3. 데이터 흐름 작업을 두 번 누릅니다. 데이터 흐름 탭이 나타납니다.
  4. 행 개수 변환을 두 번 누릅니다. 고급 편집기 대화 상자가 나타납니다.
  5. VariableName 속성 값을 mycount로 설정합니다.
  6. 제어 흐름 탭을 누른 다음 스크립트 작업을 두 번 누릅니다. 스크립트 작업 편집기 대화 상자가 나타납니다.
  7. 왼쪽 창에서 스크립트 항목을 누른 다음 ReadOnlyVariables 속성 값을 다음 값으로 변경합니다.
    PackageName,StartTime,ExecutionInstanceGUID,mycount
    참고 PackageName, StartTime 및 ExecutionInstanceGUID 항목은 시스템 변수입니다. 이러한 시스템 변수는 Windows 응용 프로그램 이벤트 로그에 패키지 정보를 기록하는 데 사용됩니다.
  8. 스크립트 작업 편집기 대화 상자에서 스크립트 디자인을 누릅니다.
  9. Microsoft Visual Studio for Applications 창이 나타나면 다음 코드 예제를 Main() 메서드에 붙여 넣습니다.
    	Dim varMyCount As Variable = Dts.Variables("mycount") '
    	Dim varPackageName As Variable = Dts.Variables("PackageName")
    	Dim varStartTime As Variable = Dts.Variables("StartTime")
    	Dim varInstanceID As Variable = Dts.Variables("ExecutionInstanceGUID")
    	Dim PackageDuration As Long
    
    	'<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    	' Event log needs
    	'>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    	Dim sSource As String
    	Dim sLog As String
    	Dim sEventMessage As String
    	Dim sMachine As String
    	'<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    
    	PackageDuration = DateDiff("s", varStartTime.Value, Now())
    
    	sSource = "RowCountReporting from SSIS"
    
    	' We need the message posted to the Application event log.
    	
    	sLog = "Application"
    	sEventMessage = "Rows Processed: " & Chr(10) _
    	& "     case Rows:" + varMyCount.Value().ToString + Chr(10) _
    	& "=============================================" & Chr(10) _
    	& "The Package: " + varPackageName.Value().ToString _
    	& Chr(10) _
    	& "Started: " & varStartTime.Value().ToString _
    	& Chr(10) _
    	& "Current Time:" & System.DateTime.Now _
    	& Chr(10) _
    	& "=============================================" _
    	& Chr(10) _
    	& "Package Run Duration in seconds: " & PackageDuration _
    	& Chr(10) _
    	& "Execution GUID: " & varInstanceID.Value().ToString
    	sMachine = "."
    
    	If Not EventLog.SourceExists(sSource, sMachine) Then
    	    EventLog.CreateEventSource(sSource, sLog, sMachine)
    	End If
    
    	Dim ELog As New EventLog(sLog, sMachine, sSource)
    
    	ELog.WriteEntry(sEventMessage, EventLogEntryType.Information, 777, 2)
    
    	'###############################
    	Dts.TaskResult = Dts.Results.Success
  10. Microsoft Visual Studio for Application 창을 닫습니다.
  11. 스크립트 작업 편집기 대화 상자에서 확인을 누릅니다.
  12. F5 키를 눌러 패키지를 실행합니다.
패키지가 성공적으로 실행되면 다음과 유사한 정보가 Windows 응용 프로그램 이벤트 로그에 나타납니다.

이벤트 종류: 정보
이벤트 원본: RowCountReporting from SSIS
이벤트 범주: 디스크
이벤트 ID: 777
날짜: 2005-08-10
시간: 오후 11:30:51
사용자: N/A
컴퓨터: ComputerName
설명:
처리된 행 수:
case Rows:3
=============================================
The Package: RowCountsInEventLog
Started: 9/14/2005 2:27:19 PM
Current Time:9/14/2005 2:27:19 PM
=============================================
Package Run Duration in seconds: 0
Execution GUID: {07406D68-487F-4733-BA3A-DA66A8AF7EFA}

자세한 정보는 http://go.microsoft.com/fwlink/events.asp에 있는 도움말 및 지원 센터를 참조하십시오.

참조

자세한 내용은 SQL Server 2005 온라인 설명서에서 다음 항목을 참조하십시오.
  • 스크립트 작업
  • 스크립트 작업 프로그래밍
  • 방법: 작업 편집기를 사용하여 작업 속성 설정
Microsoft Visual Basic을 사용하여 Windows 응용 프로그램 이벤트 로그에 정보를 기록하는 방법에 대한 자세한 내용을 보려면 다음 MSDN(Microsoft Developer Network) 웹 사이트를 방문하십시오.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vbCode/html/vbtskCodeWritingToEventLogVisualBasic.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vbCode/html/vbtskCodeWritingToEventLogVisualBasic.asp) (영문)




Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹 (http://support.microsoft.com/newsgroups/default.aspx) 에 참여하시기 바랍니다.

본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft SQL Server 2005 Standard Edition Community Technology Preview
  • Microsoft SQL Server 2005 Developer Edition Community Technology Preview
  • Microsoft SQL Server 2005 Enterprise Edition Community Technology Preview
키워드: 
kbhowto kbsql2005ssis KB906560
공유
추가 지원 옵션
Microsoft Community 지원 포럼
직접 문의하기
Microsoft Certified Partner 찾기
Microsoft Store
소기업이 아닙니까?
다음에서 팔로우하십시오.