Перемещение путей SQL Server PowerShell
Поставщик компонента Компонент Database Engine PowerShell представляет набор объектов в экземпляре SQL Server в структуре, аналогичной пути к файлу. Командлеты Windows PowerShell можно использовать для навигации по пути поставщика и для создания нестандартных дисков, укорачивающих путь, который требуется ввести.
Перед началом
В Windows PowerShell предусмотрены командлеты для навигации по структуре пути, которая представляет иерархию объектов, поддерживаемых поставщиком PowerShell. После перехода к нужному узлу можно использовать другие командлеты для выполнения основных операций с текущим объектом. Поскольку командлеты используются часто, они обладают краткими каноническими псевдонимами. Также существует один набор псевдонимов, сопоставляющий командлеты с похожими командами командной строки, и другой набор для команд оболочки UNIX.
Поставщик SQL Server реализует подмножество командлетов поставщика, приведенных в следующей таблице.
командлет |
Канонический псевдоним |
Псевдоним командной строки |
Псевдоним оболочки 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 |
Удаляет объект. |
![]() |
---|
Некоторые идентификаторы SQL Server (имена объектов) содержат символы, которые не поддерживаются в именах путей Windows PowerShell. Дополнительные сведения об использовании имен, содержащих такие символы, см. в разделе Идентификаторы SQL Server в PowerShell. |
SQL Server сведения, возвращаемые командлетом Get-ChildItem
Данные, возвращаемые командлетом Get-ChildItem (или его псевдонимами dir и ls), зависят от вашего расположения в SQLSERVER: пути SQL.
Положение на пути |
Результаты выполнения Get-ChildItem |
---|---|
SQLSERVER:\SQL |
Возвращает имя локального компьютера. Если соединения с экземплярами компонента Компонент Database Engine на других компьютерах устанавливалось с помощью объектов SMO или инструментария WMI, также будут приведены имена этих компьютеров. |
SQLSERVER:\SQL\ComputerName |
Список экземпляров компонента Компонент Database Engine на компьютере. |
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
Перейдите на узел, для которого хотите получить список потомков
Выполните командлет 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
Создание пользовательского диска
Создание и использование пользовательского диска
Использование New-PSDrive для определения пользовательского диска. Используйте параметр Root для указания пути, представляемого именем пользовательского диска.
Используйте имя пользовательского диска в таких командлетах прохождения пути, как 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
Преобразование универсальных имен ресурса в пути поставщика SQL Server