Compartir a través de


Trabajar con rutas acceso de SQL Server PowerShell

Después de haber navegado a un nodo de una ruta de acceso del proveedor de Motor de base de datos, puede realizar el trabajo o recuperar información mediante los métodos y propiedades de los objetos de administración de Motor de base de datos asociados al nodo.

  1. Antes de empezar

  2. Para trabajar en un nodo de ruta de acceso: Enumerar métodos y propiedades, Usar métodos y propiedades

Antes de empezar

Después de haber navegado a un nodo de una ruta de acceso del proveedor de Motor de base de datos, puede realizar dos tipos de acciones:

  • Puede ejecutar los cmdlets de Windows PowerShell que operan en los nodos, como Rename-Item.

  • Puede llamar a los métodos desde el modelo de objetos de administración de SQL Server asociado, como SMO. Por ejemplo, si navega al nodo Bases de datos de una ruta de acceso, puede utilizar los métodos y las propiedades de la clase Database.

El proveedor de SQL Server se utiliza para administrar los objetos en una instancia de Motor de base de datos. No se utiliza para trabajar con los datos de las bases de datos. Si ha navegado a una tabla o vista, no puede utilizar el proveedor para seleccionar, insertar, actualizar o eliminar datos. Utilice el cmdlet Invoke-Sqlcmd para consultar o cambiar los datos de las tablas y vistas del entorno de Windows PowerShell. Para obtener más información, vea cmdlet Invoke-Sqlcmd.

[Arriba]

Enumerar métodos y propiedades

Enumerar métodos y propiedades

Para ver los métodos y propiedades disponibles de determinados objetos o clases de objetos, use el cmdlet Get-Member.

Ejemplos: Enumerar métodos y propiedades

En este ejemplo se establece una variable de Windows PowerShell en la clase Database de SMO y se enumeran los métodos y las propiedades:

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

También puede usar Get-Member para mostrar los métodos y propiedades asociados con el nodo final de una ruta de acceso de Windows PowerShell.

En este ejemplo se navega al nodo Databases de una ruta de acceso de SQLSERVER: y se muestran las propiedades de la colección:

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

En este ejemplo se navega al nodo AdventureWorks2012 de una ruta de acceso de SQLSERVER: y se muestran las propiedades del objeto:

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

[Arriba]

Usar métodos y propiedades

Usar métodos y propiedades de SMO

Para realizar el trabajo en objetos de una ruta de acceso del proveedor de Motor de base de datos, puede usar los métodos y las propiedades de SMO.

Ejemplos: Usar métodos y propiedades

En este ejemplo se utiliza la propiedad Schema de SMO para obtener una lista de las tablas del esquema Sales en AdventureWorks2012:

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

En este ejemplo se utiliza el método Script de SMO para generar un script que contiene las instrucciones CREATE VIEW que se deben tener para volver a crear las vistas en 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 }

En este ejemplo se utiliza el método Create de SMO para crear una base de datos y, a continuación, se usa la propiedad State para mostrar si la base de datos existe:

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

[Arriba]

Vea también

Conceptos

Proveedor de PowerShell de SQL Server

Navegar por las rutas de acceso de SQL Server PowerShell

Convertir URN en rutas de acceso del proveedor de SQL Server

SQL Server PowerShell