Proveedor de PowerShell de SQL Server

El proveedor de SQL Server para Windows PowerShell expone la jerarquía de objetos de SQL Server en rutas de acceso similares a las rutas de acceso al sistema de archivos. Puede usar las rutas de acceso con el fin de buscar un objeto y, a continuación, usar los métodos de los modelos de Objetos de administración de SQL Server (SMO) para realizar acciones en los objetos.

Ventajas del proveedor de PowerShell de SQL Server

Las rutas de acceso que implementa el proveedor de SQL Server habilitan la revisión sencilla e interactiva de todos los objetos de una instancia de SQL Server. Puede navegar por las rutas de acceso mediante alias de Windows PowerShell similares a los comandos que se usan normalmente para navegar por las rutas de acceso al sistema de archivos.

Jerarquía de SQL Server PowerShell

Los productos cuyos datos o modelos de objetos se pueden representar en una jerarquía usan proveedores de Windows PowerShell para exponer las jerarquías. La jerarquía se expone mediante el uso de una unidad y una estructura parecidas a las que usa el sistema de archivos de Windows.

Cada proveedor de Windows PowerShell implementa una o varias unidades. Cada unidad es el nodo raíz de una jerarquía de objetos relacionados. El proveedor de SQL Server implementa un SQLSERVER: unidad de disco. El proveedor también define un conjunto de carpetas principales para el SQLSERVER: unidad de disco. Cada carpeta y sus subcarpetas representan el conjunto de objetos a los que se puede tener acceso usando un modelo de objetos de administración de SQL Server. Cuando se centra en una subcarpeta de una ruta de acceso que se inicia con una de estas carpetas principales, se pueden usar los métodos del modelo de objetos asociado para realizar las acciones en el objeto representado por el nodo. En la tabla siguiente se muestran las carpetas de Windows PowerShell que implementa el proveedor SQL Server 2012.

Carpeta

Espacio de nombres del modelo de objetos de SQL Server

Objetos

SQLSERVER:\SQL

Microsoft.SqlServer.Management.Smo

Microsoft.SqlServer.Management.Smo.Agent

Microsoft.SqlServer.Management.Smo.Broker

Microsoft.SqlServer.Management.Smo.Mail

Objetos de base de datos, como tablas, vistas y procedimientos almacenados.

SQLSERVER:\SQLPolicy

Microsoft.SqlServer.Management.Dmf

Microsoft.SqlServer.Management.Facets

Objetos de administración basada en directivas, como directivas y facetas.

SQLSERVER:\SQLRegistration

Microsoft.SqlServer.Management.RegisteredServers

Microsoft.SqlServer.Management.Smo.RegSvrEnum

Objetos de servidor registrado, como los grupos de servidores y los servidores registrados.

SQLSERVER:\Utility

Microsoft.SqlServer.Management.Utility

Los objetos de utilidad, como las instancias administradas de Motor de base de datos.

SQLSERVER:\DAC

Microsoft.SqlServer.Management.DAC

Objetos de aplicación de capa de datos, como los paquetes DAC, y operaciones como la implementación de una DAC.

SQLSERVER:\DataCollection

Microsoft.SqlServer.Management.Collector

Objetos de recopilador de datos, como conjuntos de recopilación y almacenes de configuración.

SQLSERVER:\IntegrationServices

Microsoft.SqlServer.Management.IntegrationServices

Objetos de Integration Services como proyectos, paquetes, y entornos.

SQLSERVER: \ SQLAS

Microsoft.AnalysisServices

Analysis Services objetos como cubos, agregaciones, y dimensiones.

Por ejemplo, puede usar la carpeta SQLSERVER:\SQL para iniciar rutas de acceso que puedan representar cualquier objeto admitido por el modelo de objetos SMO. La parte principal de una ruta SQLSERVER:/SQL es SQLSERVER:\SQL\ComputerName\InstanceName. Los nodos que van a continuación del nombre de instancia alternan entre colecciones de objeto (como Databases o Views) y nombres de objeto (como AdventureWorks2012). Los esquemas no se representan como clases de objeto. Cuando se especifica el nodo para un objeto de nivel superior en un esquema, como una tabla o una vista, se debe especificar el nombre de objeto en el formato SchemaName.ObjectName.

Esta es la ruta de acceso de la tabla Vendor en el esquema Purchasing de la base de datos AdventureWorks2012 en una instancia predeterminada del Motor de base de datos en el equipo local:

SQLSERVER:\SQL\localhost\DEFAULT\Databases\AdventureWorks2012\Tables\Purchasing.Vendor

Para obtener más información acerca de la jerarquía del modelo de objetos SMO, vea Diagrama del modelo de objetos de SMO.

Los nodos de colección de una ruta de acceso se asocian con una clase de colecciones del modelo de objetos asociado. Los nodos de nombre de objeto se asocian con una clase de objetos del modelo de objetos asociado, como en la tabla siguiente.

Ruta de acceso

Clase SMO

SQLSERVER:\SQL\MiPC\DEFAULT\Databases

DatabaseCollection

SQLSERVER:\SQL\MyComputer\DEFAULT\Databases\AdventureWorks2012

Database

Tareas del proveedor de SQL Server

Descripción de la tarea

Tema

Describe cómo usar los cmdlets de Windows PowerShell para navegar por los nodos de una ruta de acceso, y en cada nodo obtener una lista de los objetos de ese nodo.

Navegar por las rutas de acceso de SQL Server PowerShell

Describe cómo usar los métodos y las propiedades de SMO para notificar y trabajar en el objeto representado por un nodo de una ruta de acceso. También describe cómo obtener una lista de los métodos y propiedades de SMO para ese nodo.

Trabajar con rutas acceso de SQL Server PowerShell

Describe cómo convertir un nombre de recursos uniforme (URN) (URN) de SMO a una ruta de acceso del proveedor de SQL Server.

Convertir URN en rutas de acceso del proveedor de SQL Server

Describe cómo abrir las conexiones de autenticación de SQL Server mediante el proveedor de SQL Server. De forma predeterminada, el proveedor usa conexiones con autenticación de Windows realizadas mediante las credenciales de la cuenta de Windows que ejecuta la sesión de Windows PowerShell.

Administrar la autenticación en PowerShell del motor de base de datos

Vea también

Conceptos

SQL Server PowerShell