Работа с путями SQL Server PowerShell
После перехода к узлу в пути поставщика компонента Компонент Database Engine можно выполнять действия или с помощью методов и свойств извлекать информацию из управляющих объектов компонента Компонент Database Engine, связанных с этим узлом.
Перед началом
Для работы с узлом пути: Список методов и свойств, Использование методов и свойств
Перед началом
После того как выбран узел в пути поставщика компонента Компонент Database Engine, можно выполнять действия двух типов.
Можно запускать командлеты 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: path и выводится список свойств коллекции:
Set-Location SQLSERVER:\SQL\localhost\DEFAULT\Databases
Get-Item . | Get-Member -Type Properties
В следующем примере осуществляется переход к узлу AdventureWorks2012 в SQLSERVER: path и выводится список свойств объекта:
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"}
В этом примере с помощью метода Script объекта 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
Преобразование универсальных имен ресурса в пути поставщика SQL Server