Bagikan melalui


Mengodekan dan Mendekode Pengidentifikasi SQL Server

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)

Pengidentifikasi yang dibatasi SQL Server terkadang berisi karakter yang tidak didukung di jalur Windows PowerShell. Karakter ini dapat ditentukan dengan mengodekan nilai heksadesimalnya.

Catatan

Ada dua modul PowerShell SQL Server; SqlServer dan SQLPS.

Modul SqlServer adalah modul PowerShell saat ini yang akan digunakan.

Modul SQLPS disertakan dengan penginstalan SQL Server (untuk kompatibilitas mundur) tetapi tidak lagi diperbarui.

Modul SqlServer berisi versi cmdlet yang diperbarui di SQLPS dan menyertakan cmdlet baru untuk mendukung fitur SQL terbaru.

Instal modul SqlServer dari Galeri PowerShell.

Untuk informasi selengkapnya, lihat SQL Server PowerShell.

Karakter yang tidak didukung dalam nama jalur Windows PowerShell dapat diwakili, atau dikodekan, sebagai karakter "%" diikuti oleh nilai heksadesimal untuk pola bit yang mewakili karakter, seperti dalam "**%**xx". Pengodean selalu dapat digunakan untuk menangani karakter yang tidak didukung di jalur Windows PowerShell.

Cmdlet Encode-SqlName mengambil sebagai input pengidentifikasi SQL Server. Ini menghasilkan string dengan semua karakter yang tidak didukung oleh bahasa Windows PowerShell yang dikodekan dengan "%xx". Cmdlet Decode-SqlName mengambil sebagai input pengidentifikasi SQL Server yang dikodekan dan mengembalikan pengidentifikasi asli.

Batasan dan Pembatasan

Cmdlet Encode-Sqlname dan Decode-Sqlname hanya mengodekan atau mendekode karakter yang diizinkan dalam pengidentifikasi yang dibatasi SQL Server, tetapi tidak didukung di jalur PowerShell. Berikut ini adalah karakter yang dikodekan oleh Encode-SqlName dan didekodekan oleh Decode-SqlName:

karakter \ / : % < > * ? [ ] |
Pengodean Heksadesimal %5C %2F %3A 25% %3C %3E %2A %3F %5B %5D %7C

Pengodean Pengidentifikasi

Untuk mengodekan pengidentifikasi SQL Server di jalur PowerShell

  • Gunakan salah satu dari dua metode untuk mengodekan pengidentifikasi SQL Server:
    • Tentukan kode heksadesimal untuk karakter yang tidak didukung menggunakan sintaks %XX, di mana XX adalah kode heksadesimal.
    • Teruskan pengidentifikasi sebagai string yang dikutip ke cmdlet Encode-Sqlname

Contoh (Pengodean)

Contoh ini menentukan versi karakter ":" yang dikodekan (%3A):

Set-Location Table%3ATest

Atau, Anda dapat menggunakan Encode-SqlName untuk membuat nama yang didukung oleh Windows PowerShell:

Set-Location (Encode-SqlName "Table:Test")

Mendekode Pengidentifikasi

Untuk mendekode pengidentifikasi SQL Server dari jalur PowerShell

Gunakan cmdlet Decode-Sqlname untuk mengganti pengodean heksadesimal dengan karakter yang diwakili oleh pengodean.

Contoh (Decoding)

Contoh ini mengembalikan "Table:Test":

Decode-SqlName "Table%3ATest"

Lihat Juga