Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
SQL Server-durch Trennzeichen getrennte Bezeichner enthalten manchmal Zeichen, die in Windows PowerShell-Pfaden nicht unterstützt werden. Diese Zeichen können angegeben werden, indem ihre Hexadezimalwerte codiert werden.
Hinweis
Es gibt zwei SQL Server PowerShell-Module: SqlServer und SQLPS.
Das SqlServer-Modul ist das zu verwendende aktuelle PowerShell-Modul.
Das SQLPS-Modul ist zwar in der SQL Server-Installation (für die Abwärtskompatibilität) enthalten, wird jedoch nicht mehr aktualisiert.
Das SqlServer-Modul enthält aktualisierte Versionen der Cmdlets in SQLPS sowie neue Cmdlets zur Unterstützung der neuesten SQL-Funktionen.
Installieren Sie das SqlServer-Modul aus dem PowerShell-Katalog.
Weitere Informationen finden Sie unter SQL Server PowerShell.
Zeichen, die in Windows PowerShell-Pfadnamen nicht unterstützt werden, können als "%" zeichen gefolgt vom Hexadezimalwert für das Bitmuster dargestellt oder codiert werden, das das Zeichen darstellt, wie in "**%**xx". Codierung kann immer zur Verarbeitung von Zeichen verwendet werden, die in Windows PowerShell-Pfaden nicht unterstützt werden.
Das Encode-Sqlname Cmdlet verwendet einen SQL Server-Bezeichner als Eingabe und gibt eine Zeichenfolge mit allen Zeichen aus, die von der Windows PowerShell-Sprache codiert werden %xx. Das Decode-SqlName Cmdlet verwendet einen codierten SQL Server-Bezeichner als Eingabe und gibt den ursprünglichen Bezeichner zurück.
Beschränkungen und Einschränkungen
Die Encode-Sqlname und Decode-Sqlname Cmdlets codieren oder decodieren nur die in SQL Server-getrennten Bezeichnern zulässigen Zeichen, werden aber in PowerShell-Pfaden nicht unterstützt. Im Folgenden sind die zeichencodiert und Encode-SqlName decodiert von Decode-SqlName:
| Zeichen | \ | / | : | % | < | > | * | ? | [ | ] | | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Hexadezimale Codierung | %5C | %2F | %3A | %25 | %3C | %3E | %2A | %3F | %5B | %5D | %7C |
Codieren eines Bezeichners
So codieren Sie einen SQL Server-Bezeichner in einem PowerShell-Pfad
- Codieren Sie mithilfe einer der folgenden beiden Methoden einen SQL Server-Bezeichner:
- Geben Sie den Hexadezimalcode für das nicht unterstützte Zeichen an, indem Sie die Syntax % XX verwenden, wobei XX der Hexadezimalcode ist.
- Übergeben Sie den Bezeichners als Zeichenfolge in Anführungszeichen an das
Encode-Sqlname-Cmdlet.
Beispiel (Codierung)
In diesem Beispiel wird die codierte Version des : Zeichens angegeben (%3A):
Set-Location Table%3ATest
Alternativ können Encode-Sqlname Sie einen von Windows PowerShell unterstützten Namen erstellen:
Set-Location (Encode-SqlName "Table:Test")
Decodieren eines Bezeichners
Um einen SQL Server-Bezeichner aus einem PowerShell-Pfad zu decodieren, verwenden Sie das Decode-Sqlname Cmdlet, um die hexadezimalen Codierungen durch die Zeichen zu ersetzen, die die Codierung darstellt.
Beispiel (Decodieren)
Dieses Beispiel gibt „Table:Test“ zurück:
Decode-SqlName "Table%3ATest"