變數值檔案是一個 XML 檔案,其中包含在伺服器移轉中經常變更的命令 (例如來源或目的地伺服器名稱) 的參數值。 當發生大量資料庫移轉時,會建立多個變數檔案來儲存每一個來源伺服器的值,這些檔案會在主指令碼檔案中使用命令列的 -v 開關進行引用。 此行為有助於在幾個腳本檔案中維護靜態值,方法是使用多個變數檔案中的變數值。
適用於下列條件:
變數名稱前綴和尾綴會加上 $ (元) 符號。 如果未在變數值檔案中指派變數值,則在剖析指令碼檔案期間會發生錯誤,導致主控台執行程序停止。
$的逸出字元為$$。 如果變數的值或參數的靜態值包含$(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驗證其變數值檔案。