다음을 통해 공유


SMO 테이블 DBCC 패키지 예제

SMOTablesDBCC 예제 패키지는 Foreach 루프 컨테이너의 Foreach SMO 열거자를 사용하여 AdventureWorks 데이터베이스의 사용자 테이블을 열거하는 방법을 설명합니다. 먼저 스크립트 작업은 스키마와 테이블 이름을 검색하고 검색한 이름을 두 변수에 입력합니다. 다음 이 두 변수를 사용하여 DBCC CHECKCONSTRAINTS 명령을 실행하는 SQL 실행 작업이 실행됩니다.

[!참고] 64비트 환경에서 패키지가 실행되도록 하려면 스크립트 작업의 PreCompile 속성은 True로 설정합니다. 디버깅 도구를 사용하여 스크립트 단계를 수행하려면 이 속성을 False로 설정해야 합니다.

자세한 내용은 SQL Server 2005 온라인 설명서의 "Foreach 루프 컨테이너", "스크립트 작업" 및 "SQL 실행 작업" 항목을 참조하십시오.

ms160947.note(ko-kr,SQL.90).gif중요:
예제는 교육용으로만 제공되므로 프로덕션 환경에서 사용하기에 적합하지 않으며 프로덕션 환경에서 테스트를 수행하지 않았습니다. Microsoft에서는 이러한 예제에 대해 기술 지원을 제공하지 않습니다.

요구 사항

이 예제 패키지를 실행하려면 다음 준비 작업이 필요합니다.

  • 다음 파일을 찾은 다음 %windir%\Microsoft.NET\Framework\v2.0.xxxxx 아래에 복사합니다. 여기서 xxxxx는 .NET Framework의 최상위 버전을 나타냅니다.
    • %ProgramFiles%\Microsoft SQL Server\90\SDK\Assemblies\Microsoft.SqlServer.Smo.dll
    • %ProgramFiles%\Microsoft SQL Server\90\SDK\Assemblies\Microsoft.SqlServer.SmoEnum.dll
    • %ProgramFiles%\Microsoft SQL Server\90\SDK\Assemblies\Microsoft.SqlServer.ConnectionInfo.dll
  • 예제 패키지 및 사용되는 데이터 파일이 로컬 하드 디스크 드라이브에 설치되어야 합니다.
  • AdventureWorks 데이터베이스를 설치했으며 이 데이터베이스에 대해 관리 권한이 있어야 합니다.
  • 명령줄에서 예제 패키지를 실행하려는 경우 SQL Server 2005 Integration Services(SSIS)를 설치해야 합니다.
  • SSIS 디자이너에서 예제 패키지를 열어 실행하려는 경우 Business Intelligence Development Studio를 설치해야 합니다.

예제를 설치하는 방법은 SQL Server 2005 온라인 도움말의 "예제 Integration Services 패키지 설치"를 참조하십시오. SQL Server 2005 첫 릴리스 이후에 릴리스된 새 예제를 포함하여 최신 버전의 예제를 얻으려면 SQL Server 2005 예제 및 예제 데이터베이스(2006년 4월)를 참조하십시오.

예제 패키지의 위치

예제가 기본 설치 위치에 설치된 경우 SMOTablesDBCC 예제 패키지는 다음 폴더에 있습니다.

C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Package Samples\SmoTablesDBCC\SmoTablesDBCC\

이 예제 패키지를 실행하려면 다음 파일이 필요합니다.

파일 설명

SmoTablesDBCC.dtsx

예제 패키지

예제 실행

패키지는 dtexec 유틸리티를 사용하여 명령줄에서 실행하거나 Business Intelligence Development Studio에서 실행할 수 있습니다.

dtexec를 사용하여 패키지를 실행하려면

  1. 명령 프롬프트 창을 엽니다.

  2. 디렉터리를 dtexec의 위치인 C:\Program Files\Microsoft SQL Server\90\DTS\Binn으로 변경합니다.

  3. 다음 명령을 입력합니다.

    dtexec /f "C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Package Samples\SmoTablesDBCC\SmoTablesDBCC\SmoTablesDBCC.dtsx"
    
  4. Enter 키를 누릅니다.

dtexec 유틸리티를 사용하여 패키지를 실행하는 방법은 SQL Server 2005 온라인 설명서의 "dtexec 유틸리티" 항목을 참조하십시오.

Business Intelligence Development Studio에서 패키지를 실행하려면

  1. Business Intelligence Development Studio를 엽니다.

  2. 파일 메뉴에서 열기를 가리킨 다음 프로젝트/솔루션을 클릭합니다.

  3. SmoTablesDBCC 폴더를 찾아 이름이 SmoTablesDBCC.sln인 파일을 두 번 클릭합니다.

  4. 솔루션 탐색기에서 SSIS 패키지 폴더의 SmoTablesDBCC.dtsx를 마우스 오른쪽 단추로 클릭한 후 패키지 실행을 클릭합니다.

예제의 구성 요소

다음 표에서는 예제에 사용된 Integration Services 작업, 컨테이너 및 연결 관리자를 나열합니다.

요소 용도

Foreach 루프

Foreach Loop Container는 Foreach SMO 열거자를 사용하여 AdventureWorks 데이터베이스의 테이블을 반복 처리합니다. Foreach 루프 컨테이너는 스크립트와 SQL 실행 작업을 포함합니다.

스크립트 작업

스크립트 작업은 루프 반복마다 스키마와 테이블의 이름에 대한 변수 값을 업데이트합니다.

SQL 실행 작업

SQL 실행 작업인 DBCC CHECK CONSTRAINTS는 루프 반복마다 DBCC 명령을 실행합니다.

OLE DB 연결 관리자

(local).AdventureWorks는 로컬 서버의 AdventureWorks 데이터베이스에 연결합니다.

예제 결과

패키지를 실행한 후의 출력은 다음 출력과 유사해야 합니다.

예제 출력:

Started: 10:41:04 AM

Progress: 2005-03-15 10:41:06.04

Source: DBCC CHECK CONSTRAINTS

Executing query "DBCC CHECKCONSTRAINTS('[dbo].[AWBuildVersion]') WI".: 100% complete

End Progress

Progress: 2005-03-15 10:41:06.07

Source: DBCC CHECK CONSTRAINTS

Executing query "DBCC CHECKCONSTRAINTS('[dbo].[DatabaseLog]') WITH ".: 100% complete

End Progress

Progress: 2005-03-15 10:38:16.81

Source: DBCC CHECK CONSTRAINTS

Executing query "DBCC CHECKCONSTRAINTS('[Sales].[Store]') WITH ALL_".: 100% complete

End Progress

Progress: 2005-03-15 10:38:16.91

Source: DBCC CHECK CONSTRAINTS

Executing query "DBCC CHECKCONSTRAINTS('[Sales].[StoreContact]') WI".: 100% complete

End Progress

DTExec: The package execution returned DTSER_SUCCESS (0).

Started: 10:37:25 AM

Finished: 10:38:17 AM

Elapsed: 51.687 seconds