SQL Server 식별자 인코딩 및 디코딩Encode and Decode SQL Server Identifiers

SQL Server 구분 식별자에 Windows PowerShell 경로 이름에서 지원되지 않는 문자가 사용되는 경우가 있습니다.SQL Server delimited identifiers sometimes contain characters not supported in Windows PowerShell paths. 이러한 문자는 16진수 값을 인코딩하여 지정할 수 있습니다.These characters can be specified by encoding their hexadecimal values.

  1. Before you begin: Limitations and RestrictionsBefore you begin: Limitations and Restrictions

  2. To process special characters: Encoding an Identifier, Decoding an IdentifierTo process special characters: Encoding an Identifier, Decoding an Identifier

시작하기 전 주의 사항Before You Begin

Windows PowerShell 경로 이름에 지원되지 않는 문자는 "%" 문자 뒤에 해당 문자를 나타내는 비트 패턴의 16진수 값(예: "%xx")을 사용하여 표현하거나 인코딩할 수 있습니다.Characters that are not supported in Windows PowerShell path names can be represented, or encoded, as the "%" character followed by the hexadecimal value for the bit pattern that represents the character, as in "%xx". 인코딩은 Windows PowerShell 경로에 지원되지 않는 모든 문자를 처리하는 데 사용할 수 있습니다.Encoding can always be used to handle characters that are not supported in Windows PowerShell paths.

Encode-SqlName cmdlet은 SQL ServerSQL Server 식별자를 입력으로 사용합니다.The Encode-SqlName cmdlet takes as input a SQL ServerSQL Server identifier. Windows PowerShell 언어에서 지원하지 않는 모든 문자를 "%xx"로 인코딩하여 문자열을 출력합니다.It outputs a string with all the characters that are not supported by the Windows PowerShell language encoded with "%xx". Decode-SqlName cmdlet은 인코딩된 SQL ServerSQL Server 식별자를 입력으로 사용하고 원래 식별자를 반환합니다.The Decode-SqlName cmdlet takes as input an encoded SQL ServerSQL Server identifier and returns the original identifier.

제한 사항 Limitations and Restrictions

Encode-SqlnameDecode-Sqlname cmdlet은 SQL Server 구분 식별자에서 허용되지만 PowerShell 경로에서 지원되지 않는 문자만 인코딩하거나 디코딩합니다.The Encode-Sqlname and Decode-Sqlname cmdlets only encode or decode the characters that are allowed in SQL Server delimited identifiers, but are not supported in PowerShell paths. Encode-SqlName 으로 인코딩되고 Decode-SqlName으로 디코딩된 문자입니다.These are the characters encoded by Encode-SqlName and decoded by Decode-SqlName:

문자Character |/ 으로 디코딩된 문자입니다.: % < > * ?? [[ ]] ||
16진수 인코딩Hexadecimal Encoding %5C%5C %2F%2F %3A%3A %25%25 %3C%3C %3E%3E %2A%2A %3F%3F %5B%5B %5D%5D %7C%7C

식별자 인코딩 Encoding an Identifier

PowerShell 경로에서 SQL Server 식별자를 인코딩하려면To encode a SQL Server identifier in a PowerShell path

  • 두 방법 중 하나를 사용하여 SQL Server 식별자를 인코딩합니다.Use one of two methods to encode a SQL Server identifier:

    • %XX 구문을 사용하여 지원되지 않는 문자에 대한 16진수 코드를 지정합니다. 여기서 XX는 16진수 코드입니다.Specify the hexadecimal code for the unsupported character using the syntax %XX, where XX is the hexadecimal code.

    • 따옴표로 묶인 식별자를 Encode-Sqlname cmdlet에 전달Pass the identifier as a quoted string to the Encode-Sqlname cmdlet

예(인코딩)Examples (Encoding)

이 예에서는 ":" 문자의 인코딩된 버전(%3A)을 지정합니다.This example specifies the encoded version of the ":" character (%3A):

Set-Location Table%3ATest  

또는 Encode-SqlName 을 사용하여 Windows PowerShell에서 지원되는 이름을 작성할 수 있습니다.Alternatively, you can use Encode-SqlName to build a name supported by Windows PowerShell:

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

식별자 디코딩 Decoding an Identifier

PowerShell 경로에서 SQL Server 식별자를 디코딩하려면To decode a SQL Server identifier from a PowerShell path

Decode-Sqlname cmdlet을 사용하여 16진수 인코딩을 인코딩에 의해 표시되는 문자로 바꿀 수 있습니다.Use the Decode-Sqlname cmdlet to replace the hexadecimal encodings with the characters represented by the encoding.

예(디코딩)Examples (Decoding)

이 예에서는 “Table:Test”를 반환합니다.This example returns “Table:Test”:

Decode-SqlName "Table%3ATest"  

참고 항목See Also

PowerShell의 SQL Server 식별자 SQL Server Identifiers in PowerShell
SQL Server PowerShell 공급자 SQL Server PowerShell Provider
SQL Server PowerShell SQL Server PowerShell