Поделиться через


Переход по маршрутам SQL Server PowerShell

Поставщик PowerShell ядра СУБД предоставляет набор объектов в экземпляре SQL Server в структуре, аналогичной пути к файлу. Вы можете использовать командлеты Windows PowerShell для навигации по пути поставщика и создания пользовательских дисков, чтобы сократить путь, который нужно вводить.

Перед началом работы

Windows PowerShell реализует командлеты для навигации по структуре пути, представляющей иерархию объектов, поддерживаемых поставщиком PowerShell. После перехода к нужному узлу можно использовать другие командлеты для выполнения основных операций с текущим объектом. Так как командлеты часто используются, они имеют короткие канонические псевдонимы. Существует также один набор псевдонимов, который сопоставляет командлеты с аналогичными командами командной строки, а второй набор предназначен для команд оболочки UNIX.

Поставщик SQL Server реализует подмножество командлетов поставщика, показанное в следующей таблице.

командлет Канонический псевдоним Псевдоним cmd Псевдоним оболочки UNIX Описание
Get-Location gl pwd pwd Возвращает текущий узел.
Set-Location sl cd, chdir cd, chdir Изменяет текущий узел.
Get-ChildItem gci dir ls Выводит список объектов, хранящихся на текущем узле.
get-Item ги Возвращает свойства текущего элемента.
переименование элемента rni rn Рен Переименовывает объект.
Удалить-Предмет Ри del, rd rm, rmdir Удаляет объект.

Это важно

Некоторые идентификаторы SQL Server (имена объектов) содержат символы, которые Windows PowerShell не поддерживает в именах путей. Дополнительные сведения об использовании имен, содержащих эти символы, см. в статье SQL Server Identifiers in PowerShell.

Сведения SQL Server, возвращаемые Get-ChildItem

Сведения, возвращаемые 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

Использование псевдонима командлета

  • Вместо ввода полного имени командлета введите более короткий псевдоним или тот, который сопоставляется с знакомой командой командной строки оценки.

Пример псевдонима (PowerShell)

Например, можно использовать один из следующих наборов командлетов или псевдонимов, чтобы получить список экземпляров SQL Server, доступных для вас, перейдя к папке SQLSERVER:\SQL и запросив список дочерних элементов для папки:

## 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)

В этих примерах показаны сведения, возвращаемые Get-Childitem для разных узлов в пути провайдера SQL Server.

## 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. Используйте имя пользовательского диска в командлетах, связанных с навигацией по пути, таких как Set-Location.

Пример пользовательского диска (PowerShell)

В этом примере создается виртуальный диск с именем AWDB, который сопоставляется с узлом для развернутой версии примера базы данных AdventureWorks2012. Затем виртуальный диск используется для перехода к таблице в базе данных.

## 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
Преобразуйте URN в пути поставщика SQL Server
SQL Server PowerShell