Bagikan melalui


Mengodekan dan mendekode pengidentifikasi SQL Server

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

Nota

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, kunjungi 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.

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

Batasan dan pembatasan

Encode-Sqlname cmdlet 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

Mengodekan 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.
    • Meneruskan pengidentifikasi sebagai string yang dikutip ke Encode-Sqlname cmdlet

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 Decode-Sqlname cmdlet untuk mengganti pengodean heksadesimal dengan karakter yang diwakili pengodean.

Contoh (decoding)

Contoh ini mengembalikan "Table:Test":

Decode-SqlName "Table%3ATest"