스크립팅(데이터베이스 엔진)
SQL Server 데이터베이스 엔진은 데이터베이스 엔진의 인스턴스 및 이러한 인스턴스의 개체를 관리하기 위한 Microsoft PowerShell 스크립팅 환경을 지원합니다. 또한 스크립팅 환경과 매우 유사한 환경에서는 Transact-SQL 및 XQuery를 포함하는 데이터베이스 엔진 쿼리를 작성 및 실행할 수 있습니다.
SQL Server PowerShell
SQL Server에는 다음을 구현하는 두 개의 SQL Server PowerShell 스냅인이 있습니다.
SQL Server 관리 개체 모델 계층을 파일 시스템 경로와 비슷한 PowerShell 경로로 노출하는 SQL Server PowerShell 공급자. SQL Server 관리 개체 모델 클래스를 사용하여 경로의 각 노드에 표현되는 개체를 관리할 수 있습니다.
SQL Server 명령을 구현하는 SQL Server cmdlet 집합. Invoke-Sqlcmd는 이러한 cmdlet 중 하나로, sqlcmd 유틸리티와 함께 실행되도록 데이터베이스 엔진 쿼리 스크립트를 실행하는 데 사용됩니다.
SQL Server는 PowerShell을 실행하는 다음과 같은 두 가지 기능을 제공합니다.
PowerShell을 시작하고 SQL Server 스냅인을 로드하는 sqlps 유틸리티. 임시 PowerShell 명령을 대화형으로 실행할 수 있습니다. .\MyFolder\MyScript.ps1과 같은 명령을 사용하여 스크립트 파일을 실행할 수 있습니다. sqlps는 명령 프롬프트에서 시작하거나 SQL Server Management Studio 개체 탐색기 트리의 노드를 마우스 오른쪽 단추로 클릭하고 PowerShell 시작을 선택하여 시작할 수 있습니다.
PowerShell 스크립트 파일은 예약된 간격이나 시스템 이벤트에 대한 응답으로 스크립트를 실행하는 SQL Server 에이전트 PowerShell 작업 단계에 대한 입력으로 사용할 수 있습니다.
데이터베이스 엔진 쿼리
데이터베이스 엔진 쿼리 스크립트에는 다음과 같은 세 가지 유형의 요소가 포함되어 있습니다.
Transact-SQL 언어 문
XQuery 언어 문
sqlcmd 유틸리티의 명령 및 변수
SQL Server는 데이터베이스 엔진 쿼리를 작성하는 다음과 같은 세 가지 환경을 제공합니다.
SQL Server Management Studio의 데이터베이스 엔진 쿼리 편집기에서 데이터베이스 엔진 쿼리를 대화형으로 실행 및 디버깅할 수 있습니다. 하나의 세션에서 여러 문을 코딩 및 디버깅한 다음 모든 문을 하나의 스크립트 파일에 저장할 수 있습니다.
sqlcmd 명령 프롬프트 유틸리티를 사용하면 데이터베이스 엔진 쿼리를 대화형으로 실행하고 기존 데이터베이스 엔진 쿼리 스크립트 파일도 실행할 수 있습니다.
데이터베이스 엔진 쿼리 스크립트 파일은 일반적으로 데이터베이스 엔진 쿼리 편집기를 사용하여 SQL Server Management Studio에서 대화형으로 코딩됩니다. 이 파일은 나중에 다음 환경 중 하나에서 열 수 있습니다.
SQL Server Management Studio 파일/열기 메뉴를 사용하여 새 데이터베이스 엔진 쿼리 편집기 창에 파일을 열 수 있습니다.
-iinput_file 매개 변수를 사용하여 sqlcmd 유틸리티로 파일을 실행할 수 있습니다.
-QueryFromFile 매개 변수를 사용하여 SQL Server PowerShell 스크립트에서 Invoke-Sqlcmd cmdlet으로 파일을 실행할 수 있습니다.
SQL Server 에이전트 Transact-SQL 작업 단계를 사용하여 예약된 간격이나 시스템 이벤트에 대한 응답으로 스크립트를 실행할 수 있습니다.
또한 SQL Server 스크립트 생성 마법사를 사용하여 Transact-SQL 스크립트를 생성할 수 있습니다. SQL Server Management Studio 개체 탐색기에서 개체를 마우스 오른쪽 단추로 클릭한 후 스크립트 생성 메뉴 항목을 선택할 수 있습니다. 스크립트 생성은 스크립트를 만드는 과정을 안내하는 마법사를 시작합니다. 자세한 내용은 데이터베이스 문서화 및 스크립팅을 참조하십시오.