SQL Server PowerShell 경로 탐색

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System(PDW)

데이터베이스 엔진 PowerShell 공급자는 SQL Server 인스턴스의 개체를 파일 경로와 비슷한 구조로 표시합니다. Windows PowerShell cmdlet을 사용하여 공급자 경로를 탐색하고 사용자 지정 드라이브를 만들어 입력해야 하는 경로를 단축할 수 있습니다.

참고 항목

SQL Server PowerShell 모듈에는 SqlServerSQLPS의 두 가지가 있습니다.

SqlServer 모듈이 사용할 현재 PowerShell 모듈입니다.

SQLPS 모듈은 (이전 버전과의 호환성을 위해) SQL Server 설치에 포함되어 있지만 더 이상 업데이트되지 않습니다.

SqlServer 모듈은 SQLPS에 업데이트된 버전의 cmdlet이 포함되어 있으며, 최신 SQL 기능을 지원하는 새로운 cmdlet이 포함되어 있습니다.

PowerShell 갤러리에서 SqlServer 모듈을 설치합니다.

자세한 내용은 SQL Server PowerShell을 참조하세요.

Windows PowerShell은 cmdlet을 구현하여 PowerShell 공급자가 지원하는 개체의 계층 구조를 나타내는 경로 구조를 탐색합니다. 경로의 노드로 이동한 경우 다른 cmdlet을 사용하여 현재 개체에 대한 기본 작업을 수행할 수 있습니다. cmdlet은 자주 사용되기 때문에 짧고 정식 별칭이 있습니다. cmdlet을 유사한 명령 프롬프트 명령에 매핑하는 별칭 집합과 UNIX 셸 명령에 대한 다른 집합도 있습니다.

SQL Server 공급자는 다음 테이블과 같이 공급자 cmdlet의 하위 집합을 구현합니다.

Cmdlet 정식 별칭 cmd 별칭 UNIX 셸 별칭 설명
Get-Location gl pwd pwd 현재 노드를 가져옵니다.
Set-Location sl cd, chdir cd, chdir 현재 노드를 변경합니다.
Get-ChildItem gci dir ls 현재 노드에 저장된 개체를 나열합니다.
Get-Item gi 현재 항목의 속성을 반환합니다.
Rename-Item rni rn ren 개체 이름을 바꿉니다.
Remove-Item ri del, rd rm, rmdir 개체를 제거합니다.

Important

일부 SQL Server 식별자(개체 이름)의 경우 Windows PowerShell에서 지원하지 않는 문자가 경로 이름에 포함되어 있습니다. 이러한 문자가 포함된 이름을 사용하는 방법은 SQL Server Identifiers in PowerShell을 참조하십시오.

Get-ChildItem에서 반환된 SQL Server 정보

Get-ChildItem(또는 해당 dirls 별칭)에서 반환되는 정보는 SQLSERVER: 경로의 위치에 따라 달라집니다.

경로 위치 Get-ChildItem 결과
SQLSERVER:\SQL 로컬 컴퓨터의 이름을 반환합니다. SMO 또는 WMI를 사용하여 다른 컴퓨터에 있는 데이터베이스 엔진 인스턴스에 연결한 경우에는 해당 컴퓨터도 나열됩니다.
SQLSERVER:\SQL\ComputerName 컴퓨터에 설치된 데이터베이스 엔진 인스턴스의 목록입니다.
SQLSERVER:\SQL\ComputerName\InstanceName 엔드포인트, 인증서 및 데이터베이스와 같은 인스턴스의 최상위 개체 형식 목록입니다.
데이터베이스와 같은 개체 클래스 노드 데이터베이스 목록(master, model, AdventureWorks2022)과 같은 해당 형식의 개체 목록입니다.
개체 이름 노드(예: AdventureWorks2022) 개체 내에 포함된 개체 유형 목록입니다. 예를 들어 데이터베이스는 테이블 및 뷰와 같은 개체 형식을 나열합니다.

기본적으로 Get-ChildItem은 시스템 개체를 나열하지 않습니다. Force 매개 변수를 사용하여 sys 스키마의 개체와 같은 시스템 개체를 볼 수 있습니다.

사용자 지정 드라이브

Windows PowerShell을 사용하면 사용자가 PowerShell 드라이브라고 하는 가상 드라이브를 정의할 수 있습니다. 이러한 드라이브 맵은 경로 문의 시작 노드로 매핑됩니다. 일반적으로 자주 입력되는 경로를 줄이는 데 사용됩니다. SQLSERVER: 경로가 길어지면 Windows PowerShell 창에서 공간을 차지하고 많은 텍스트를 입력해야 할 수 있습니다. 특정 경로 노드에서 많은 작업을 수행하려는 경우 해당 노드에 매핑되는 사용자 지정 Windows PowerShell 드라이브를 정의할 수 있습니다.

PowerShell cmdlet 별칭 사용

cmdlet 별칭 사용

  • 전체 cmdlet 이름을 입력하는 대신 더 짧은 별칭을 입력하거나 친숙한 추천 프롬프트 명령에 매핑되는 별칭을 입력합니다.

별칭 예제(PowerShell)

예를 들어 SQLSERVER:\SQL 폴더로 이동하고 해당 폴더의 자식 항목 목록을 요청하여 사용 가능한 SQL Server 인스턴스 목록을 검색하려면 다음과 같은 cmdlet 또는 별칭의 집합 중 하나를 사용하면 됩니다.

## Shows using the full cmdet name.  
Set-Location SQLSERVER:\SQL  
Get-ChildItem  
  
## Shows using canonical aliases.  
sl SQLSERVER:\SQL  
gci  
  
## Shows using command prompt aliases.  
cd SQLSERVER:\SQL  
dir  
  
## Shows using Unix shell aliases.  
cd SQLSERVER:\SQL  
ls  

Get-ChildItem 사용

Get-Childitem을 사용하여 정보 반환

  1. 자식 목록을 얻고 싶은 노드로 이동합니다.

  2. Get-Childitem을 실행하여 목록을 가져옵니다.

Get-ChildItem 예제(PowerShell)

다음 예에서는 SQL Server 공급자 경로의 각 노드에 대해 Get-ChildItem이 반환하는 정보에 대해 설명합니다.

## Return the current computer and any computer  
## to which you have made a SQL or WMI connection.  
Set-Location SQLSERVER:\SQL  
Get-ChildItem  
  
## List the instances of the Database Engine on the local computer.  
  
Set-Location SQLSERVER:\SQL\localhost  
Get-ChildItem  
  
## Lists the categories of objects available in the  
## default instance on the local computer.  
Set-Location SQLSERVER:\SQL\localhost\DEFAULT  
Get-ChildItem  
  
## Lists the databases from the local default instance.  
## The force parameter is used to include the system databases.  
Set-Location SQLSERVER:\SQL\localhost\DEFAULT\Databases  
Get-ChildItem -force  

사용자 지정 드라이브 만들기

사용자 지정 드라이브 만들기 및 사용

  1. New-PSDrive를 사용하여 사용자 지정 드라이브를 정의합니다. Root 매개 변수를 사용하여 사용자 지정 드라이브 이름으로 표시되는 경로를 지정합니다.

  2. 경로 탐색 cmdlet(예: Set-Location)에서 사용자 지정 드라이브 이름을 참조합니다.

사용자 지정 드라이브 예(PowerShell)

이 예제에서는 AdventureWorks2022 샘플 데이터베이스의 배포된 복사본에 대한 노드에 매핑되는 AWDB라는 가상 드라이브를 만듭니다. 그런 다음, 가상 드라이브를 사용하여 데이터베이스의 테이블로 이동합니다.

## Create a new virtual drive.  
New-PSDrive -Name AWDB -Root SQLSERVER:\SQL\localhost\DEFAULT\Databases\AdventureWorks2022  
  
## Use AWDB: to navigate to a specific table.  
Set-Location AWDB:\Tables\Purchasing.Vendor  

참고 항목