Especificar instancias del proveedor de PowerShell de SQL Server

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Las rutas de acceso especificadas para el proveedor de PowerShell de SQL Server deben identificar la instancia de Motor de base de datos y el equipo en que se está ejecutando. La sintaxis para especificar el equipo y la instancia debe cumplir las reglas de los identificadores de SQL Server y las rutas de acceso de Windows PowerShell.

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 más información, consulte el artículo sobre SQL Server PowerShell.

Antes de empezar

El primer nodo situado a continuación de SQLSERVER:\SQL en una ruta de acceso de proveedor de SQL Server es el nombre del equipo en el que se ejecuta la instancia de Motor de base de datos, por ejemplo:

SQLSERVER:\SQL\MyComputer  

Si está ejecutando Windows PowerShell en el mismo equipo que la instancia de Motor de base de datos, puede usar localhost o (local) en lugar del nombre del equipo. Los scripts que usan localhost o (local) se pueden ejecutar en cualquier equipo sin tener que cambiar para reflejar los distintos nombres de los equipos.

Puede ejecutar varias instancias del programa ejecutable de Motor de base de datos en el mismo equipo. El nodo situado a continuación del nombre del equipo en una ruta de acceso del proveedor de SQL Server identifica la instancia; por ejemplo:

SQLSERVER:\SQL\MyComputer\MyInstance  

Cada equipo puede tener una instancia predeterminada de Motor de base de datos. No especifique un nombre para la instancia predeterminada al instalarla. Si especifica solamente un nombre de equipo en una cadena de conexión, se conectará a la instancia predeterminada en ese equipo. Todas las demás instancias en el equipo deben ser instancias con nombre. Durante la instalación se especifica el nombre de instancia y las cadenas de conexión deben especificar tanto el nombre de equipo como el nombre de instancia.

Limitaciones y restricciones

No puede usar un punto (.) para especificar el equipo local en los scripts de PowerShell. No se admite el punto porque PowerShell lo interpreta como comando.

Windows PowerShell suele tratar como comandos los caracteres que van entre paréntesis de (local). Debe codificarlos o convertirlos para poderlos usar en una ruta de acceso, o agregar la ruta de acceso entre comillas dobles. Para obtener más información, vea Codificar y descodificar identificadores de SQL Server.

El proveedor de SQL Server requiere que siempre se especifique un nombre de instancia. Para las instancias predeterminadas, debe especificar el nombre de instancia DEFAULT.

Ejemplos; Equipo y nombres de instancia

En este ejemplo se usan el host local y DEFAULT para especificar la instancia predeterminada en el equipo local:

Set-Location SQLSERVER:\SQL\localhost\DEFAULT   

Windows PowerShell suele tratar como comandos los caracteres que van entre paréntesis de (local). Debe:

  • Poner las cadenas de ruta de acceso entre comillas:

    Set-Location "SQLSERVER:\SQL\(local)\DEFAULT"  
    
  • Eludir el paréntesis mediante el carácter de acento invertido (`).

    Set-Location SQLSERVER:\SQL\`(local`)\DEFAULT  
    
  • Codificar el paréntesis mediante su representación hexadecimal:

    Set-Location SQLSERVER:\SQL\%28local%29\DEFAULT  
    

Consulte también

Identificadores de SQL Server en PowerShell
Proveedor de SQL Server PowerShell Provider
SQL Server PowerShell