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


Работа с путями SQL Server PowerShell

После перехода к узлу в пути поставщика компонента Компонент Database Engine можно выполнять действия или с помощью методов и свойств извлекать информацию из управляющих объектов компонента Компонент Database Engine , связанных с этим узлом.

  1. Перед началом

  2. To work on a path node:Listing Methods and Properties, Using Methods and Properties

Перед началом

После перехода к узлу в пути поставщика ядра СУБД можно выполнять два типа действий:

  • Можно запускать командлеты Windows PowerShell, работающие с узлами, такие как Rename-Item.

  • Можно вызывать методы из соответствующей модели управляющих объектов SQL Server , например SMO. Например, если перейти в пути к узлу Databases, то можно использовать методы и свойства класса Database .

Поставщик SQL Server используется для управления объектами в экземпляре компонента Компонент Database Engine. Он не предназначен для работы с данными в базах данных. Если выбрана таблица или представление, нельзя использовать поставщик для выбора, вставки, обновления или удаления данных. Чтобы запросить или изменить данные в таблицах и представлениях из среды Windows PowerShell, воспользуйтесь командлетом Invoke-Sqlcmd . Дополнительные сведения см. в разделе Invoke-Sqlcmd, командлет.

список методов и свойств

Командлет Get-Member используется для просмотра методов и свойств, доступных для определенных объектов или классов объектов.

Примеры: список методов и свойств

В этом примере задается переменная Windows PowerShell для класса Database модели SMO и перечисляются методы и свойства:

$MyDBVar = New-Object Microsoft.SqlServer.Management.SMO.Database  
$MyDBVar | Get-Member -Type Methods  
$MyDBVar | Get-Member -Type Properties  

Командлет Get-Member также можно использовать для вывода методов и свойств, связанных с конечным узлом пути Windows PowerShell.

В этом примере выполняется переход к узлу Databases на диске SQLSERVER и перечисление свойства коллекции.

Set-Location SQLSERVER:\SQL\localhost\DEFAULT\Databases  
Get-Item . | Get-Member -Type Properties  

В этом примере выполняется переход к узлу AdventureWorks2012 по пути SQLSERVER: и перечисление свойства объектов.

Set-Location SQLSERVER:\SQL\localhost\DEFAULT\Databases\AdventureWorks2012  
Get-Item . | Get-Member -Type Properties  

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

Для выполнения действий с объектами из пути поставщика компонента Компонент Database Engine можно использовать методы и свойства объектов SMO.

Примеры: использование методов и свойств

В этом примере свойство Schema объекта SMO служит для получения списка таблиц из схемы Sales в базе данных AdventureWorks2012:

Set-Location SQLSERVER:\SQL\localhost\DEFAULT\Databases\AdventureWorks2012\Tables  
Get-ChildItem | Where {$_.Schema -eq "Sales"}  

В этом примере используется метод скрипта SMO для создания скрипта CREATE VIEW , содержащего инструкции, необходимые для повторного создания представлений в AdventureWorks2012:

Remove-Item C:\PowerShell\CreateViews.sql  
Set-Location SQLSERVER:\SQL\localhost\DEFAULT\Databases\AdventureWorks2012\Views  
foreach ($Item in Get-ChildItem) { $Item.Script() | Out-File -Filepath C:\PowerShell\CreateViews.sql -append }  

В этом примере используется метод Create модели SMO, чтобы создать базу данных, а затем используется свойство State , чтобы показать, существует ли эта база данных:

Set-Location SQLSERVER:\SQL\localhost\DEFAULT\Databases  
$MyDBVar = New-Object Microsoft.SqlServer.Management.SMO.Database  
$MyDBVar.Parent = (Get-Item ..)  
$MyDBVar.Name = "NewDB"  
$MyDBVar.Create()  
$MyDBVar.State  

См. также:

Поставщик SQL Server PowerShell
Перемещение путей SQL Server PowerShell
Преобразование URNs в пути поставщика SQL Server
SQL Server PowerShell