Windows PowerShell용 SQL Server 공급자는 파일 시스템 경로와 유사한 경로에 SQL Server 개체의 계층 구조를 노출합니다. 경로를 사용하여 개체를 찾은 다음 SMO(SQL Server Management Object) 모델의 메서드를 사용하여 개체에 대한 작업을 수행할 수 있습니다.
비고
두 개의 SQL Server PowerShell 모듈이 있습니다. SqlServer 및 SQLPS.
SqlServer 모듈은 사용할 현재 PowerShell 모듈입니다.
SQLPS 모듈은 이전 버전과의 호환성을 위해 SQL Server 설치에 포함되어 있지만 더 이상 업데이트되지 않습니다.
SqlServer 모듈에는 SQLPS의 업데이트된 버전의 cmdlet이 포함되어 있으며 최신 SQL 기능을 지원하는 새 cmdlet이 포함되어 있습니다.
PowerShell 갤러리에서 SqlServer 모듈을 설치합니다.
자세한 내용은 SQL Server PowerShell을 참조하세요.
SQL Server PowerShell 공급자의 이점
SQL Server 공급자가 구현한 경로를 사용하면 SQL Server 인스턴스의 모든 개체를 쉽고 대화형으로 검토할 수 있습니다. 일반적으로 파일 시스템 경로를 탐색하는 데 사용하는 명령과 유사한 Windows PowerShell 별칭을 사용하여 경로를 탐색할 수 있습니다.
SQL Server PowerShell 계층 구조
계층 구조에서 데이터 또는 개체 모델을 나타낼 수 있는 제품은 Windows PowerShell 공급자를 사용하여 계층 구조를 노출합니다. 계층 구조는 Windows 파일 시스템과 유사한 드라이브 및 경로 구조를 사용하여 노출됩니다.
각 Windows PowerShell 공급자는 하나 이상의 드라이브를 구현합니다. 각 드라이브는 관련 개체 계층 구조의 루트 노드입니다. SQL Server 공급자는 SQLSERVER 드라이브를 구현합니다. 또한 공급자는 SQLSERVER 드라이브에 대한 기본 폴더 집합을 정의합니다. 각 폴더와 해당 하위 폴더는 SQL Server 관리 개체 모델을 사용하여 액세스할 수 있는 개체를 나타냅니다. 이러한 기본 폴더 중 하나로 시작하는 경로의 하위 폴더에 초점을 맞춘 경우 연결된 개체 모델의 메서드를 사용하여 노드가 나타내는 개체에 대한 작업을 수행할 수 있습니다. SQL Server 공급자가 구현한 Windows PowerShell 폴더는 다음 표에 나와 있습니다.
폴더 | SQL Server 개체 모델 네임스페이스 | 개체 |
---|---|---|
SQLSERVER:\SQL |
Microsoft.SqlServer.Management.Smo Microsoft.SqlServer.Management.Smo.Agent Microsoft.SqlServer.Management.Smo.Broker Microsoft.SqlServer.Management.Smo.Mail |
테이블, 뷰 및 저장 프로시저와 같은 데이터베이스 개체입니다. |
SQLSERVER:\SQLPolicy |
Microsoft.SqlServer.Management.Dmf Microsoft.SqlServer.Management.Facets |
정책 및 패싯 등의 정책 기반 관리 객체. |
SQLSERVER:\SQLRegistration |
Microsoft.SqlServer.Management.RegisteredServers | 서버 그룹 및 등록된 서버와 같은 등록된 서버 개체입니다. |
SQLSERVER:\DataCollection |
Microsoft.SqlServer.Management.Collector | 컬렉션 집합 및 구성 저장소와 같은 데이터 수집기 개체입니다. |
SQLSERVER:\SSIS |
Microsoft.SqlServer.Management.IntegrationServices | 프로젝트, 패키지 및 환경과 같은 SSIS 개체입니다. |
SQLSERVER:\XEvent |
Microsoft.SqlServer.Management.XEvent | SQL Server 확장 이벤트 |
SQLSERVER:\DatabaseXEvent |
Microsoft.SqlServer.Management.XEventDbScoped | SQL Server 확장 이벤트 |
SQLSERVER:\SQLAS |
Microsoft.AnalysisServices | 큐브, 집계 및 차원과 같은 Analysis Services 개체입니다. |
예를 들어 SQLSERVER:\SQL 폴더를 사용하여 SMO 개체 모델이 지원하는 개체를 나타내는 경로를 시작할 수 있습니다. SQLSERVER:\SQL 경로의 선행 부분은 SQLSERVER:\SQL\ComputerName\InstanceName입니다. 인스턴스 이름 뒤의 노드는 개체 컬렉션(예: 데이터베이스 또는 뷰)과 개체 이름(예: AdventureWorks2022
)을 대체합니다. 스키마는 개체 클래스로 표시되지 않습니다. 테이블 또는 뷰와 같은 스키마에서 최상위 개체의 노드를 지정할 때 는 SchemaName.ObjectName 형식으로 개체 이름을 지정해야 합니다.
다음 예제에서는 로컬 컴퓨터의 데이터베이스 엔진 기본 인스턴스에 있는 데이터베이스의 AdventureWorks2022
구매 스키마에 있는 Vendor 테이블의 경로를 보여 줍니다.
SQLSERVER:\SQL\localhost\DEFAULT\Databases\AdventureWorks2022\Tables\Purchasing.Vendor
SMO 개체 모델 계층 구조에 대한 자세한 내용은 /sql/relational-databases/server-management-objects-smo/smo-object-model-diagram를 참조하세요.
경로의 컬렉션 노드는 연결된 개체 모델의 컬렉션 클래스와 연결됩니다. 개체 이름 노드는 다음 표와 같이 연결된 개체 모델의 개체 클래스와 연결됩니다.
경로 | SMO 클래스 |
---|---|
SQLSERVER:\SQL\MyComputer\DEFAULT\Databases |
Microsoft.SqlServer.Management.Smo.DatabaseCollection> |
SQLSERVER:\SQL\MyComputer\DEFAULT\Databases\AdventureWorks2022 |
Microsoft.SqlServer.Management.Smo.Database> |
SQL Server 공급자 작업
작업 설명 | 조항 |
---|---|
Windows PowerShell cmdlet을 사용하여 경로의 노드를 탐색하고 각 노드에 대해 해당 노드의 개체 목록을 가져오는 방법을 설명합니다. | SQL Server PowerShell 경로 탐색 |
SMO 메서드 및 속성을 사용하여 노드가 경로에 나타내는 개체에 대해 보고하고 작업을 수행하는 방법을 설명합니다. 또한 해당 노드에 대한 SMO 메서드 및 속성 목록을 가져오는 방법을 설명합니다. | SQL Server PowerShell 경로 작업 |
SMO URN(Uniform Resource Name)을 SQL Server 공급자 경로로 변환하는 방법을 설명합니다. | Convert-UrnToPath |
SQL Server 공급자를 사용하여 SQL Server 인증 연결을 여는 방법을 설명합니다. 기본적으로 공급자는 Windows PowerShell 세션을 실행하는 Windows 계정 자격 증명을 사용하여 만든 Windows 인증 연결을 사용합니다. | 데이터베이스 엔진 PowerShell에서 인증 관리 |