2012-01-26 4 views
0

원격 데이터베이스 서버에 데이터베이스를 백업하고 백업 파일을 확인하려고합니다.MSBuild 확장 팩 : 원격 백업 확인

는 백업이 잘 작동하지만 빌드가 오류와 함께 실패 백업 확인하려고하면

<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> 

이 :

DataFilePath not found: c:\DatabaseBackups\MyDB.bak 

내가 내 로컬 컴퓨터에서 다음 XML 빌드 파일을 사용을 로컬 컴퓨터에서 백업 및 확인을 실행해도 MachineName을 원격 서버로 변경하면 빌드 파일이 제대로 작동합니다. 백업 파일을 검색 할 때 MS Build가 원격 컴퓨터가 아닌 로컬 컴퓨터를 검색한다고 생각합니다. 원격 서버에서 백업 파일을 검색하도록 MS Build에 지시하려면 어떻게해야합니까?

답변

0

파일 경로를 unc 경로로 제공하기 만하면됩니다. 대상을 사용자에게 공유하면 제대로 작동합니다. 만약 youve를 관리자 권한 :

<MSBuild.ExtensionPack.Sql2008.Database TaskAction="VerifyBackup" MachineName="$(SqlInstance)" UserName="$(SqlUserName)" UserPassword="$(SqlPassword)" DataFilePath="\\$(SQLInstance)\C$\DatabaseBackups\MyDB.bak"/> 

그렇지 않으면 사용자에 databaseBackups 폴더를 공유 :

<MSBuild.ExtensionPack.Sql2008.Database TaskAction="VerifyBackup" MachineName="$(SqlInstance)" UserName="$(SqlUserName)" UserPassword="$(SqlPassword)" DataFilePath="\\$(SQLInstance)\DatabaseBackups\MyDB.bak"/>