SQLCMD 변수 개요
적용 대상: Microsoft Fabric의 SQL ServerAzure SQL Database Azure SQL Managed Instance SQL 데이터베이스
SQLCMD 변수는 SQL 개체 및 스크립트에서 동적으로 대체 가능한 토큰을 만들기 위해 SQL 프로젝트에서 사용됩니다. 이러한 변수의 값은 배포 시 설정되며 SQL 프로젝트에서 값을 동적으로 설정하는 데 사용할 수 있습니다. SQLCMD 변수에 대한 값은 게시 작업 또는 게시 프로필을 통해 설정할 수 있습니다.
SQL 프로젝트 파일 샘플 및 구문
SQLCMD 변수는 <ItemGroup>
항목 아래의 .sqlproj
파일에 정의됩니다. 이 예제에서 변수 EnvironmentName
은(는) testing
기본값으로 정의됩니다.
...
<ItemGroup>
<SqlCmdVariable Include="EnvironmentName">
<DefaultValue>testing</DefaultValue>
<Value>$(SqlCmdVar__1)</Value>
</SqlCmdVariable>
</ItemGroup>
</Project>
DefaultValue
요소는 선택적입니다. 기본값이 제공되면 SQL 프로젝트에 대한 그래픽 도구의 게시 대화 상자에서만 로드됩니다. 기본값은 .dacpac
파일로 컴파일되지 않으며 게시 프로필에서 지정한 값이 없거나 값을 지정하는 /v
옵션이 없는 명령줄 배포에서는 SQLCMD 변수에 빈 값을 사용합니다.
SQL 개체에서 SQLCMD 변수 사용
SQLCMD 변수는 변수 이름을 $(variableName)
구문으로 래핑하여 SQL 개체 및 스크립트에서 사용할 수 있습니다. 예를 들어 다음 SQL 스크립트는 $(EnvironmentName)
변수를 사용하여 스크립트 동작을 제어합니다.
IF '$(EnvironmentName)' = 'testing'
BEGIN
-- do something
END
게시 작업에서 SQLCMD 변수 사용
SqlPackage 명령줄 도구의 /v
옵션을 사용하여 배포 시 SQLCMD 변수를 설정할 수 있습니다. 예를 들어 다음 명령은 EnvironmentName
변수를 production
(으)로 설정합니다.
sqlpackage /Action:Publish /SourceFile:AdventureWorks.dacpac /TargetConnectionString:{connection_string_here} /v:EnvironmentName=production
SQLCMD 변수 추가 및 사용
비주얼 스튜디오의 SQL 프로젝트에 SQLCMD 변수를 추가하려면 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택합니다. 속성 창의 SQLCMD 변수 탭에서 변수 이름과 선택적으로 기본값을 지정합니다.
변수가 정의되면 변수 이름을 $(variableName)
구문으로 래핑하여 SQL 스크립트에서 사용할 수 있습니다.
Visual Studio에서 프로젝트를 게시할 때 SQLCMD 변수는 게시 대화 상자에서 설정됩니다. 값 로드 버튼을 사용하여 SQL 프로젝트의 기본값을 대화 상자로 로드합니다.
비주얼 스튜디오의 SQL 프로젝트에 SQLCMD 변수를 추가하려면 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택합니다. 속성 창의 SQLCMD 변수 섹션에서 변수 이름과 선택적으로 기본값을 지정합니다.
변수가 정의되면 변수 이름을 $(variableName)
구문으로 래핑하여 SQL 스크립트에서 사용할 수 있습니다.
Visual Studio에서 프로젝트를 게시할 때 SQLCMD 변수는 게시 대화 상자에서 설정됩니다. 값 로드 버튼을 사용하여 SQL 프로젝트의 기본값을 대화 상자로 로드합니다.
SQL Database 프로젝트 확장의 SQL 프로젝트에 SQLCMD 변수를 추가하려면 데이터베이스 프로젝트 보기에서 프로젝트 아래의 SQLCMD 변수 노드를 마우스 오른쪽 단추로 클릭하고 SQLCMD 변수 추가를 선택합니다. 변수 이름을 지정하고 필요에 따라 기본값을 지정합니다.
변수가 정의되면 변수 이름을 $(variableName)
구문으로 래핑하여 SQL 스크립트에서 사용할 수 있습니다.
SQL 데이터베이스 프로젝트 확장에서 프로젝트를 게시할 때 SQLCMD 변수 값은 기본값에서 자동으로 로드됩니다. 게시 프로세스 중에 값을 수정하라는 메시지가 표시되면 대체 값을 제공할 수 있습니다.
SQL 프로젝트에 SQLCMD 변수를 추가하려면 각 변수에 대한 <ItemGroup>
항목을 사용하여 .sqlproj
파일에 <SqlCmdVariable>
항목을 추가 합니다. <SqlCmdVariable>
항목에는 변수 이름, 기본값 및 배포 시 설정할 수 있는 값이 포함됩니다.
<ItemGroup>
<SqlCmdVariable Include="EnvironmentName">
<DefaultValue>testing</DefaultValue>
<Value>$(SqlCmdVar__1)</Value>
</SqlCmdVariable>
</ItemGroup>
변수가 정의되면 변수 이름을 $(variableName)
구문으로 래핑하여 SQL 스크립트에서 사용할 수 있습니다.
명령줄에서 프로젝트를 배포할 때 SqlPackage 명령줄 도구의 /v
옵션을 사용하여 SQLCMD 변수를 설정할 수 있습니다.
예시:
SqlPackage /Action:Publish /SourceFile:AdventureWorks.dacpac /TargetConnectionString:{connection_string_here} /v:EnvironmentName=production