Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
A veces, los identificadores delimitados por SQL Server contienen caracteres que no se admiten en las rutas de acceso de Windows PowerShell. Estos caracteres se pueden especificar codificando sus valores hexadecimales.
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.
Los caracteres no admitidos en los nombres de ruta de acceso de Windows PowerShell se pueden representar o codificar como el carácter "%" seguido del valor hexadecimal del patrón de bits que representa el carácter, como en "**%**xx". La codificación siempre se puede usar para controlar los caracteres que no se admiten en las rutas de Windows PowerShell.
El Encode-Sqlname
cmdlet toma un identificador de SQL Server como entrada y genera una cadena con todos los caracteres no admitidos por el lenguaje de Windows PowerShell codificado con %xx
. El Decode-SqlName
cmdlet toma un identificador de SQL Server codificado como entrada y devuelve el identificador original.
Limitaciones y restricciones
Los Encode-Sqlname
cmdlets y Decode-Sqlname
solo codifican o descodifican los caracteres permitidos en identificadores delimitados por SQL Server, pero no se admiten en las rutas de acceso de PowerShell. A continuación se muestran los caracteres codificados por Encode-SqlName
y descodificados por Decode-SqlName
:
Carácter | \ | / | : | % | < | > | * | ? | [ | ] | | |
---|---|---|---|---|---|---|---|---|---|---|---|
Codificación hexadecimal | %5C | %2F | %3A | %25 | %3C | %3E | %2A | %3F | %5B | %5D | %7C |
Codificación de un identificador
Para codificar un identificador de SQL Server en una ruta de acceso de PowerShell
- Use uno de los dos métodos para codificar un identificador de SQL Server:
- Especifique el código hexadecimal para el carácter no compatible mediante la sintaxis %XX, donde el código hexadecimal es XX.
- Pase el identificador como una cadena entrecomillada al cmdlet
Encode-Sqlname
Ejemplo (codificación)
En este ejemplo se especifica la versión codificada del :
carácter (%3A):
Set-Location Table%3ATest
Como alternativa, puede usar Encode-Sqlname
para crear un nombre compatible con Windows PowerShell:
Set-Location (Encode-SqlName "Table:Test")
Descodificar un identificador
Para descodificar un identificador de SQL Server desde una ruta de acceso de PowerShell, use el Decode-Sqlname
cmdlet para reemplazar las codificaciones hexadecimales por los caracteres que representa la codificación.
Ejemplo (descodificación)
Este ejemplo devuelve “Table:Test”:
Decode-SqlName "Table%3ATest"