Перемещение путей SQL Server PowerShell

Применимо к:SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure Azure Synapse Analytics AnalyticsPlatform System (PDW)

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

Примечание.

Существует два модуля SQL Server PowerShell — SqlServer и SQLPS.

Самым актуальным модулем PowerShell является модуль SqlServer.

Модуль SQLPS входит в состав установки SQL Server (для обеспечения обратной совместимости), но больше не обновляется.

Модуль SqlServer содержит обновленные версии командлетов в SQLPS и новые командлеты для поддержки последних функций SQL.

Установите модуль SqlServer из коллекции PowerShell.

Подробные сведения см. в статье SQL Server PowerShell.

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

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

командлет Канонический псевдоним Псевдоним командной строки Псевдоним оболочки UNIX Description
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 Удаляет объект.

Важно!

Некоторые идентификаторы 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\ИмяКомпьютера Список экземпляров ядра СУБД на компьютере.
SQLSERVER:\SQL\ИмяКомпьютера\ИмяЭкземпляра Список типов объектов верхнего уровня в экземпляре, таких как «Конечные точки», «Сертификаты» и «Базы данных».
Узел класса объектов, например «Базы данных» Список объектов этого типа, например список баз данных: master, , modelAdventureWorks2022.
Узел имени объекта, например AdventureWorks2022 Список типов объектов, содержащихся в этом объекте. Например, для базы данных будет выведен список типов объектов, таких как таблицы и представления.

По умолчанию командлет 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, который сопоставляется с узлом для развернутой AdventureWorks2022 копии образца базы данных. Виртуальный диск затем используется для перехода к таблице в базе данных.

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

См. также