Compartir a través de


Proveedor de SQL Server PowerShell

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 para buscar un objeto y, a continuación, usar métodos de los modelos de objetos de administración de SQL Server (SMO) para realizar acciones en los objetos.

Nota:

Hay dos módulos de SQL Server PowerShell: SqlServer y SQLPS.

El módulo SqlServer es el módulo de PowerShell actual que se va a usar.

El módulo SQLPS está incluido en la instalación de SQL Server (por motivos de compatibilidad con versiones anteriores), pero ya no se actualiza.

El módulo SqlServer contiene versiones actualizadas de los cmdlets en SQLPS e incluye cmdlets para admitir las características más recientes de SQL.

Instale el módulo SqlServer desde la Galería de PowerShell.

Para obtener más información, visite SQL Server PowerShell.

Ventajas del proveedor de PowerShell de SQL Server

Las rutas de acceso implementadas por el proveedor de SQL Server permiten revisar de forma sencilla e interactiva 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 POWERShell de SQL Server

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 una unidad y una estructura de ruta de acceso similares al 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 una unidad SQLSERVER. El proveedor también define un conjunto de carpetas principales para la unidad SQLSERVER. Cada carpeta y sus subcarpetas representan los objetos a los que se puede tener acceso mediante un modelo de objetos de administración de SQL Server. Cuando se centra en una subcarpeta en una ruta de acceso que comienza con una de estas carpetas principales, puede usar los métodos del modelo de objetos asociado para realizar 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:

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 Objetos de servidor registrado, como los grupos de servidores y los servidores registrados.
SQLSERVER:\DataCollection Microsoft.SqlServer.Management.Collector Objetos de recopilador de datos, como conjuntos de recopilación y almacenes de configuración.
SQLSERVER:\SSIS Microsoft.SqlServer.Management.IntegrationServices Objetos SSIS, como proyectos, paquetes y entornos.
SQLSERVER:\XEvent Microsoft.SqlServer.Management.XEvent Eventos extendidos de SQL Server
SQLSERVER:\DatabaseXEvent Microsoft.SqlServer.Management.XEventDbScoped Eventos extendidos de SQL Server
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 representen cualquier objeto que admita el modelo de objetos SMO. La parte inicial de una ruta de acceso SQLSERVER:\SQL es SQLSERVER:\SQLnombreDeEquipo\nombreDeInstancia. Los nodos que siguen al nombre de instancia alternan entre colecciones de objetos (como Bases de datos o Vistas) y nombres de objeto (como AdventureWorks2022). 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 nombreDeEsquema.nombreDeObjeto.

En el siguiente ejemplo se muestra la ruta de acceso de la tabla Vendor en el esquema Purchasing de la base de datos AdventureWorks2022 en una instancia predeterminada de Motor de base de datos en el equipo local:

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

Para obtener más información sobre la jerarquía del modelo de objetos SMO, vea /sql/relational-databases/server-management-objects-smo/smo-object-model-diagram.

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 a una clase de objetos del modelo de objetos asociado, como en la tabla siguiente:

Ruta Clase SMO
SQLSERVER:\SQL\MyComputer\DEFAULT\Databases Microsoft.SqlServer.Management.Smo.DatabaseCollection>
SQLSERVER:\SQL\MyComputer\DEFAULT\Databases\AdventureWorks2022 Microsoft.SqlServer.Management.Smo.Database>

Tareas del proveedor de SQL Server

Descripción de la tarea Artículo
Describe cómo usar cmdlets de Windows PowerShell para navegar por los nodos de una ruta de acceso y, para 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 propiedades de SMO para informar y realizar el trabajo en el objeto que representa un nodo en 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 la conversión de un nombre uniforme de recursos (URN) de SMO a una ruta de acceso del proveedor de SQL Server. Convert-UrnToPath
Describe cómo abrir conexiones de autenticación de SQL Server mediante el proveedor de SQL Server. De forma predeterminada, el proveedor usa conexiones de autenticación de Windows realizadas mediante las credenciales de la cuenta de Windows que ejecutan la sesión de Windows PowerShell. Administrar la autenticación en PowerShell del motor de base de datos

Paso siguiente