Codierung und Decodierung von SQL Server-Bezeichnern
Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)
Begrenzungsbezeichner von SQL Server können Zeichen enthalten, 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 des Bitmusters, das das Zeichen darstellt, dargestellt bzw. codiert werden (Beispiel: **%**xx). Codierung kann immer zur Verarbeitung von Zeichen verwendet werden, die in Windows PowerShell-Pfaden nicht unterstützt werden.
Das Cmdlet Encode-SqlName akzeptiert als Eingabe einen SQL Server-Bezeichner. Es gibt eine Zeichenfolge mit allen nicht von der Windows PowerShell-Sprache unterstützten Zeichen, die mit "%xx" codiert sind, aus. Das Cmdlet Decode-SqlName akzeptiert einen codierten SQL Server-Bezeichner als Eingabe und gibt den ursprünglichen Bezeichner zurück.
Einschränkungen
Die Cmdlets Encode-Sqlname und Decode-Sqlname codieren oder decodieren nur die Zeichen, die in SQL Server-Begrenzungsbezeichnern zulässig sind, aber in PowerShell-Pfaden nicht unterstützt werden. Im Folgenden werden die Zeichen aufgeführt, die von Encode-SqlName codiert und von Decode-SqlName decodiert werden:
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 Bezeichner als Zeichenfolge in Anführungszeichen an das Cmdlet Encode-Sqlname .
Beispiele (Codierung)
In diesem Beispiel wird die codierte Version des Zeichens ":" (%3A) dargestellt:
Set-Location Table%3ATest
Alternativ können Sie Encode-SqlName verwenden, um einen von Windows PowerShell unterstützten Namen zu erstellen:
Set-Location (Encode-SqlName "Table:Test")
Decodieren eines Bezeichners
So decodieren Sie einen SQL Server-Bezeichner aus einem PowerShell-Pfad
Verwenden Sie das Cmdlet Decode-Sqlname , um die Hexadezimalcodierungen durch die von der Codierung dargestellten Zeichen zu ersetzen.
Beispiele (Decodierung)
Dieses Beispiel gibt „Table:Test“ zurück:
Decode-SqlName "Table%3ATest"
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Tickets als Feedbackmechanismus für Inhalte auslaufen lassen und es durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unter:Einreichen und Feedback anzeigen für