Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Les identificateurs délimités par SQL Server contiennent parfois des caractères qui ne sont pas pris en charge dans les chemins d’accès Windows PowerShell. Vous pouvez spécifier ces caractères en encodant leurs valeurs hexadécimales.
Remarque
Il existe deux modules SQL Server PowerShell : SqlServer et SQLPS.
Le module SqlServer est le module PowerShell actuel à utiliser.
Le module SQLPS fait partie de l’installation de SQL Server (à des fins de compatibilité descendante), mais il n’est plus mis à jour.
Le module SqlServer contient les versions mises à jour des applets de commande disponibles dans SQLPS ainsi que de nouvelles applets de commande pour prendre en charge les dernières fonctionnalités SQL.
Installez le module SqlServer à partir de PowerShell Gallery.
Pour plus d’informations, consultez SQL Server PowerShell.
Les caractères non pris en charge dans les noms de chemin d’accès Windows PowerShell peuvent être représentés ou encodés en tant que caractère «%», suivi de la valeur hexadécimale du modèle de bits qui représente le caractère, comme dans « **%**xx ». Le codage peut toujours être utilisé pour gérer des caractères qui ne sont pas pris en charge dans les chemins d'accès Windows PowerShell.
L’applet Encode-Sqlname de commande accepte un identificateur SQL Server comme entrée et génère une chaîne avec tous les caractères non pris en charge par le langage Windows PowerShell encodé avec %xx. L’applet Decode-SqlName de commande accepte un identificateur SQL Server encodé comme entrée et retourne l’identificateur d’origine.
Limitations et restrictions
Decode-Sqlname Les Encode-Sqlname applets de commande et encodent uniquement les caractères autorisés dans les identificateurs délimités par SQL Server, mais pas pris en charge dans les chemins PowerShell. Voici les caractères encodés par Encode-SqlName et décodés par Decode-SqlName:
| Caractère | \ | / | : | % | < | > | * | ? | [ | ] | | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Encodage hexadécimal | %5C | %2F | %3A | %25 | %3C | %3E | %2A | %3F | %5B | %5D | %7C |
Encoder un identificateur
Pour encoder un identificateur SQL Server dans un chemin d'accès PowerShell
- Utilisez l'une des deux méthodes suivantes pour encoder un identifiant SQL Server :
- Spécifiez le code hexadécimal du caractère non pris en charge à l'aide de la syntaxe %XX, où XX est le code hexadécimal.
- Passez l'identificateur en tant que chaîne entre guillemets à l'applet de commande
Encode-Sqlname
Exemple (encodage)
Cet exemple spécifie la version encodée du : caractère (%3A) :
Set-Location Table%3ATest
Vous pouvez également utiliser Encode-Sqlname pour générer un nom pris en charge par Windows PowerShell :
Set-Location (Encode-SqlName "Table:Test")
Décoder un identificateur
Pour décoder un identificateur SQL Server à partir d’un chemin PowerShell, utilisez l’applet Decode-Sqlname de commande pour remplacer les encodages hexadécimaux par les caractères que représente l’encodage.
Exemple (décodage)
Cet exemple retourne « Table:Test » :
Decode-SqlName "Table%3ATest"