我正在尝试在远程数据库服务器上备份数据库,然后验证该备份文件。
备份运行良好,但是当我尝试验证备份时,构建失败并出现错误:
DataFilePath not found: c:\DatabaseBackups\MyDB.bak
我在本地计算机上使用以下 xml 构建文件:
<Project ToolsVersion="4.0" DefaultTargets="Default" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<TPath>C:\Program Files\MSBuild\ExtensionPack\4.0\MSBuild.ExtensionPack.tasks</TPath>
<SqlInstance>myremoteserver</SqlInstance>
<ProductionBackup>c:\DatabaseBackups\MyDB.bak</ProductionBackup>
<SqlUserName>user</SqlUserName>
<SqlPassword>pass</SqlPassword>
<DatabaseName>MyDB</DatabaseName>
</PropertyGroup>
<Import Project="$(TPath)"/>
<Target Name="BackupDB">
<!-- Backup a database -->
<MSBuild.ExtensionPack.Sql2008.Database TaskAction="Backup" DatabaseItem="$(DatabaseName)" MachineName="$(SqlInstance)" UserName="$(SqlUserName)" UserPassword="$(SqlPassword)" DataFilePath="$(ProductionBackup)"/>
<!-- Verify a database backup -->
<MSBuild.ExtensionPack.Sql2008.Database TaskAction="VerifyBackup" MachineName="$(SqlInstance)" UserName="$(SqlUserName)" UserPassword="$(SqlPassword)" DataFilePath="$(ProductionBackup)"/>
</Target>
</Project>
如果我在本地计算机上运行备份和验证,此构建文件工作正常,但当我将 MachineName 更改为远程服务器时失败。我相信在我的本地机器上搜索备份文件时 MS Build 搜索,而不是在远程机器上。如何告诉 MS Build 在远程服务器上搜索备份文件?