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 comenzar

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

Antes de empezar

Una vez que haya navegado a un nodo en 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 usar 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. Use 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.

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  

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 usa 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 usa el método script SMO para generar un script que contenga las CREATE VIEW instrucciones que debe 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  

Consulte también

Proveedor de SQL Server PowerShell Provider
Navegar por las rutas de acceso de SQL Server PowerShell
Convertir URN en rutas de acceso del proveedor de SQL Server
SQL Server PowerShell