变量值文件是一个 XML 文件,其中包含经常在服务器迁移中更改的命令(如源或目标服务器名称)的参数值。 发生大量数据库迁移时,会在主脚本文件中创建和引用用于存储每个源服务器值的多个变量文件,并在命令行中使用 -v 开关。 此行为有助于在几个脚本文件中使用多个变量文件中的变量值来维护静态值。
下列条件适用:
变量名称以 $(dollar) 符号作为前缀和后缀。 如果未在变量值文件中为变量赋值,则脚本文件分析过程中发生错误,导致控制台执行过程停止。
的转义字符
$为$$。 如果变量的值或参数的静态值包含 ($dollar) 符号,$$则必须指定该值以将其视为字符而不是变量。出于可维护性目的,可以在元素内
'variable-group'声明变量,以便对用户定义的变量进行逻辑分离。 此元素的使用不是必需的。
例子
示例 1
变量值文件命令的示例:
<variables>
<variable-group name="ProjectSpecs">
<variable name="$type$" value="MyProject"/>
<variable name="$project_folder$" value=".\$project_name$"/>
<variable name="$project_name$" value="$type$ConsoleProject"/>
<variable name="$project_overwrite$" value="true"/>
<variable name="$project_type$" value="sql-server-2016"/>
</variable-group>
</variables>
示例 2
变量值文件命令的示例:
<variables>
<variable-group name="SQLServerParams">
<variable-group name="SqlServerConnectionParams">
<variable name="$TargetServerName$" value="xxx"/>
<variable name="$TargetDB$" value="xxx"/>
<variable name="$TargetUserName$" value="xxx"/>
<variable name="$TargetPassword$" value="xxx"/>
<variable name="$TargetIsTrusted$" value="xxx"/>
<variable name="$TrustedConnection$" value="xxx"/>
</variable-group>
<variable-group name="SqlServerObjectParams">
<variable name="$ObjectName1$" value="TestTable1"/>
<variable name="$ObjectName2$" value="TestProc1"/>
</variable-group>
</variable-group>
</variables>
变量值文件验证
用户可以根据文件夹中可用的ConsoleScriptVariablesSchema.xsd架构定义文件轻松验证其变量值文件Schemas。