使用 SQL ServerPowerShell 路径

在您导航到数据库引擎提供程序路径中的某一节点后,可通过使用与该节点相关联的数据库引擎管理对象中的方法和属性,执行工作或检索信息。

  1. 准备工作

  2. **使用路径节点:**列出方法和属性, 使用方法和属性

准备工作

在导航到数据库引擎提供程序路径中的节点之后,可以执行两种类型的操作:

  • 可以运行作用于节点的 Windows PowerShell cmdlet,如 Rename-Item

  • 可以调用相关联的 SQL Server 管理对象模型中的方法,如 SMO。 例如,如果您导航到路径中的 Databases 节点,则可以使用 Database 类的方法和属性。

SQL Server 提供程序用于管理数据库引擎实例中的对象, 而不能用于处理数据库中的数据。 如果您已经导航到表或视图,则不能使用该提供程序选择、插入、更新或删除数据。 可以使用 Invoke-Sqlcmd cmdlet 来查询或更改 Windows PowerShell 环境内表和视图中的数据。 有关详细信息,请参阅Invoke-Sqlcmd cmdlet

[返回页首]

列出方法和属性

列出方法和属性

若要查看可供特定对象或对象类使用的方法和属性,请使用 Get-Member cmdlet。

示例:列出方法和属性

下面的示例将 Windows PowerShell 变量设置为 SMO Database 类并列出其方法和属性:

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

还可以使用 Get-Member 列出与 Windows PowerShell 路径的结束节点相关联的方法和属性。

下面的示例导航到 SQLSERVER: 路径中的 Databases 节点,并列出集合属性:

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

下面的示例导航到 SQLSERVER: 路径中的 AdventureWorks2012 节点,并列出对象属性:

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

[返回页首]

使用方法和属性

使用 SMO 方法和属性

若要从数据库引擎提供程序路径对对象执行操作,您可以使用 SMO 方法和属性。

示例:使用方法和属性

下面的示例使用 SMO Schema 属性,从 AdventureWorks2012 中的 Sales 架构中获取表的列表:

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

下面的示例使用 SMO Script 方法生成一个包含 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 }

下面的示例使用 SMO Create 方法创建一个数据库,然后使用 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 ServerPowerShell 路径

将 URN 转换为 SQL Server 提供程序路径

SQL Server PowerShell