데이터베이스 엔진 PowerShell 공급자는 파일 경로와 유사한 구조로 SQL Server 인스턴스의 개체 집합을 노출합니다. Windows PowerShell cmdlet을 사용하여 공급자 경로를 탐색하고 사용자 지정 드라이브를 만들어 입력해야 하는 경로를 단축할 수 있습니다.
시작하기 전에
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 | 현재 노드에 저장된 개체를 나열합니다. |
| 아이템 가져오기 | gi | 현재 항목의 속성을 반환합니다. | ||
| 이름 바꾸기 항목 | rni | rn | ren | 개체의 이름을 바꿉니다. |
| 제거 항목 | ri | del, rd | rm, rmdir | 개체를 제거합니다. |
중요합니다
일부 SQL Server 식별자(개체 이름)에는 Windows PowerShell이 경로 이름에서 지원하지 않는 문자가 포함되어 있습니다. 이러한 문자를 포함하는 이름을 사용하는 방법에 대한 자세한 내용은 PowerShell의 SQL Server 식별자를 참조하세요.
Get-ChildItem에 의해 반환된 SQL Server 정보
Get-ChildItem(또는 해당 dir 및 ls 별칭)에서 반환되는 정보는 SQLSERVER: 경로의 위치에 따라 달라집니다.
| 경로 위치 | 결과 Get-ChildItem |
|---|---|
| SQLSERVER:\SQL | 로컬 컴퓨터의 이름을 반환합니다. SMO 또는 WMI를 사용하여 다른 컴퓨터의 데이터베이스 엔진 인스턴스에 연결한 경우 해당 컴퓨터도 나열됩니다. |
| SQLSERVER:\SQL\ComputerName | 컴퓨터의 데이터베이스 엔진 인스턴스 목록입니다. |
| SQLSERVER:\SQL\ComputerName\InstanceName | 엔드포인트, 인증서 및 데이터베이스와 같은 인스턴스의 최상위 개체 형식 목록입니다. |
| 데이터베이스와 같은 개체 클래스 노드 | master, model, AdventureWorks20008R2와 같은 데이터베이스 목록을 포함하는 해당 형식의 개체 목록입니다. |
| 개체 이름 노드(예: AdventureWorks2012) | 개체 내에 포함된 개체 형식 목록입니다. 예를 들어 데이터베이스는 테이블 및 뷰와 같은 개체 형식을 나열합니다. |
기본적으로 Get-ChildItem 은 시스템 개체를 나열하지 않습니다. Force 매개 변수를 사용하여 sys 스키마의 개체와 같은 시스템 개체를 볼 수 있습니다.
사용자 지정 드라이브
Windows PowerShell을 사용하면 사용자가 PowerShell 드라이브라고 하는 가상 드라이브를 정의할 수 있습니다. 이러한 맵은 경로 문의 시작 노드에 매핑됩니다. 일반적으로 자주 입력되는 경로를 줄이는 데 사용됩니다. SQLSERVER: 경로가 길어질 수 있으므로 Windows PowerShell 창에서 공간을 확보하고 많은 입력이 요구됩니다. 특정 경로 노드에서 많은 작업을 수행하려는 경우 해당 노드에 매핑되는 사용자 지정 Windows PowerShell 드라이브를 정의할 수 있습니다.
PowerShell Cmdlet 별칭 사용
cmdlet의 별칭 사용
- 전체 cmdlet 이름을 입력하는 대신 더 짧은 별칭을 입력하거나 친숙한 추천 프롬프트 명령에 매핑되는 별칭을 입력합니다.
별칭 예제(PowerShell)
예를 들어 다음 cmdlet 또는 별칭 집합 중 하나를 사용하여 SQLSERVER:\SQL 폴더로 이동하고 폴더에 대한 자식 항목 목록을 요청하여 사용 가능한 SQL Server 인스턴스 목록을 검색할 수 있습니다.
## 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 사용하여 정보 반환
childrem 목록을 원하는 노드로 이동합니다.
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
사용자 지정 드라이브 만들기
사용자 지정 드라이브 만들기 및 사용
사용자 지정 드라이브를 정의하는 데 사용합니다
New-PSDrive. 매개 변수를Root사용하여 사용자 지정 드라이브 이름으로 표시되는 경로를 지정합니다.와 같은
Set-Location경로 탐색 cmdlet에서 사용자 지정 드라이브 이름을 참조합니다.
사용자 지정 드라이브 예제(PowerShell)
이 예제에서는 AdventureWorks2012 샘플 데이터베이스의 배포된 복사본에 대한 노드에 매핑되는 AWDB라는 가상 드라이브를 만듭니다. 그런 다음, 가상 드라이브를 사용하여 데이터베이스의 테이블로 이동합니다.
## Create a new virtual drive.
New-PSDrive -Name AWDB -Root SQLSERVER:\SQL\localhost\DEFAULT\Databases\AdventureWorks2012
## Use AWDB: to navigate to a specific table.
Set-Location AWDB:\Tables\Purchasing.Vendor
또한 참조하십시오
SQL Server PowerShell 공급자
SQL Server PowerShell 경로 작업
URL을 SQL Server 공급자 경로로 변환
SQL Server PowerShell