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.
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