SQL Server로 구분된 식별자에는 Windows PowerShell 경로에서 지원되지 않는 문자가 포함되어 있는 경우가 있습니다. 이러한 문자는 16진수 값을 인코딩하여 지정할 수 있습니다.
비고
두 개의 SQL Server PowerShell 모듈이 있습니다. SqlServer 및 SQLPS.
SqlServer 모듈은 사용할 현재 PowerShell 모듈입니다.
SQLPS 모듈은 이전 버전과의 호환성을 위해 SQL Server 설치에 포함되어 있지만 더 이상 업데이트되지 않습니다.
SqlServer 모듈에는 SQLPS의 업데이트된 버전의 cmdlet이 포함되어 있으며 최신 SQL 기능을 지원하는 새 cmdlet이 포함되어 있습니다.
PowerShell 갤러리에서 SqlServer 모듈을 설치합니다.
자세한 내용은 SQL Server PowerShell을 참조하세요.
Windows PowerShell 경로 이름에서 지원되지 않는 문자는 "**%**xx"와 같이 문자를 나타내는 비트 패턴의 16진수 값 뒤에 "%" 문자로 표시하거나 인코딩할 수 있습니다. 인코딩은 항상 Windows PowerShell 경로에서 지원되지 않는 문자를 처리하는 데 사용할 수 있습니다.
cmdlet은 Encode-Sqlname
SQL Server 식별자를 입력으로 사용하고 Windows PowerShell 언어로 인코딩된 모든 문자가 지원되지 않는 문자열을 %xx
출력합니다. cmdlet은 Decode-SqlName
인코딩된 SQL Server 식별자를 입력으로 사용하고 원래 식별자를 반환합니다.
제한 사항
및 Encode-Sqlname
cmdlet은 Decode-Sqlname
SQL Server로 구분된 식별자에서 허용되는 문자만 인코딩하거나 디코딩하지만 PowerShell 경로에서는 지원되지 않습니다. 다음은 인코딩되어 Encode-SqlName
디코딩된 Decode-SqlName
문자입니다.
문자 | \ | / | : | % | < | > | * | ? | [ | ] | | |
---|---|---|---|---|---|---|---|---|---|---|---|
16진수 인코딩 | %5C | %2F | %3A | 25% | %3C | %3E | %2A | %3F | %5B | %5D | %7C |
식별자 인코딩
PowerShell 경로에서 SQL Server 식별자를 인코딩하려면
- 두 가지 방법 중 하나를 사용하여 SQL Server 식별자를 인코딩합니다.
- XX가 16진수 코드인 %XX 구문을 사용하여 지원되지 않는 문자의 16진수 코드를 지정합니다.
- 따옴표로 묶인 식별자를
Encode-Sqlname
cmdlet에 전달
예제(인코딩)
이 예제에서는 문자(%3A)의 :
인코딩된 버전을 지정합니다.
Set-Location Table%3ATest
또는 Windows PowerShell에서 지원하는 이름을 빌드하는 데 사용할 Encode-Sqlname
수 있습니다.
Set-Location (Encode-SqlName "Table:Test")
식별자 디코딩
PowerShell 경로에서 SQL Server 식별자를 디코딩하려면 cmdlet을 사용하여 Decode-Sqlname
16진수 인코딩을 인코딩이 나타내는 문자로 바꿉니다.
예제(디코딩)
이 예에서는 "Table:Test"를 반환합니다.
Decode-SqlName "Table%3ATest"