Condividi tramite


Codificare e decodificare identificatori di SQL Server

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di AzureAzure Synapse Analytics AnalyticsAnalytics Platform System (PDW)

Gli identificatori delimitati di SQL Server possono contenere caratteri non supportati nei percorsi di Windows PowerShell. È possibile specificare questi caratteri codificando i valori esadecimali.

Nota

Esistono due moduli SQL Server PowerShell: SqlServer e SQLPS.

SqlServer è il modulo corrente di PowerShell da usare.

SQLPS è incluso nell'installazione di SQL Server (per compatibilità con le versioni precedenti), ma non viene più aggiornato.

Il modulo SqlServer contiene le versioni aggiornate dei cmdlet di SQLPS e include nuovi cmdlet per il supporto delle funzionalità SQL più recenti.

Installare il modulo SqlServer da PowerShell Gallery.

Per altre informazioni, vedere SQL Server PowerShell.

I caratteri non supportati nei nomi dei percorsi di Windows PowerShell possono essere rappresentati o codificati come il carattere "%" seguito dal valore esadecimale del modello di bit che rappresenta il carattere, come in "**%**xx". La codifica può sempre essere utilizzata per gestire i caratteri non supportati nei percorsi di Windows PowerShell.

Il cmdlet Encode-SqlName accetta come input un identificatore di SQL Server. Viene restituita una stringa con tutti i caratteri non supportati dal linguaggio di Windows PowerShell codificati con "% xx". Il cmdlet Decode-SqlName accetta come input un identificatore di SQL Server codificato e restituisce l'identificatore originale.

Limitazioni e restrizioni

I cmdlet Encode-Sqlname e Decode-Sqlname codificano o decodificano solo i caratteri consentiti negli identificatori delimitati di SQL Server, ma non sono supportati nei percorsi di PowerShell. Di seguito sono elencati i caratteri codificati da Encode-SqlName e decodificati da Decode-SqlName:

Carattere \ / : % < > * ? [ ] |
Codifica esadecimale %5C %2F %3A 25% %3C %3E %2A %3F %5B %5D %7C

Codifica di un identificatore

Per codificare un identificatore di SQL Server in un percorso di PowerShell

  • Utilizzare uno dei due metodi per codificare un identificatore di SQL Server:
    • Specificare il codice esadecimale per il carattere non supportato utilizzando la sintassi% XX, dove XX rappresenta il codice esadecimale.
    • Passare l'identificatore come stringa tra virgolette al cmdlet Encode-Sqlname

Esempi (codifica)

In questo esempio viene specificata la versione codificata del carattere ":" (% 3A):

Set-Location Table%3ATest

In alternativa, è possibile usare Encode-SqlName per compilare un nome supportato da Windows PowerShell:

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

Decodifica di un identificatore

Per decodificare un identificatore di SQL Server da un percorso di PowerShell

Usare il cmdlet Decode-Sqlname per sostituire le codifiche esadecimali con i caratteri rappresentati dalla codifica.

Esempi (decodifica)

In questo esempio viene restituito "Table:Test":

Decode-SqlName "Table%3ATest"

Vedi anche