Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I programmatically deploy BIDS artifacts to remote SQL Server instance?

I would like to automate the deployment of my SSIS and SSAS artifacts to remote development SQL Server 2005 & 2008 instances on a scheduled basis.

What would be the best solution for this? I am using TFS 2008 as the source control system, so I'd like to integrate the solution with MSBuild and a scheduled Team Build.

like image 846
Mr. Kraus Avatar asked Nov 24 '08 09:11

Mr. Kraus


People also ask

How to deploy ispac file?

To deploy a project deployment file that you created, select Project deployment file and enter the path to the . ispac file. To deploy a project that resides in the Integration Services catalog, select Integration Services catalog, and then enter the server name and the path to the project in the catalog.

How is the deployment utility created in SSIS?

To create a deployment utility, simply right-click the SSIS project in SQL Server Data Tools and select Properties. In the Property Pages dialog, go to the Deployment Utility page and change the CreateDeploymentUtility property to True, as shown in below screenshot.


1 Answers

Cant help with SSIS but I can help with SSAS and TFS 2010.

A SSAS project wont build with Team Build in 2010. To get a build working will require a msbuild project that calls devenv.exe to do the build and then copy the files to the Team Build output directory.

Here's an example project that I've used before:

    <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
        <Target Name="Build">
             <PropertyGroup>
                  <DevEnvTool Condition="'$(DevEnvTool)'==''">C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe</DevEnvTool>
                  <DevEnvBuildCommand>"$(DevEnvTool)" "$(MSBuildProjectDirectory)\Nexus_VS2008.sln" /Build</DevEnvBuildCommand>
             </PropertyGroup>
             <Exec Command="$(DevEnvBuildCommand)" />
             <ItemGroup>
                 <SSASSourceFiles Include="$(MSBuildProjectDirectory)\Readify.Nexus.Analysis\bin\Readify.Nexus.Analysis.*"/>
             </ItemGroup>

             <Copy SourceFiles="@(SSASSourceFiles)" DestinationFolder="$(OutDir)" />
        </Target>
    </Project>

This will create the SSAS artifacts in the drop folder of the TFS build. With a little bit of powershell the SSAS cubes can be created and deployed with the help of TFS Deployer. At a minimum the powershell script needs to execute "microsoft.analysisservices.deployment.exe". The script can also be used to changed various configuration settings for SSAS.

like image 69
Darren Avatar answered Nov 11 '22 09:11

Darren