sql-serversql-server-data-toolsdata-tier-applications

Registering Database as Data-tier Application - any change to how SQLPackage deploys?


I have been given the task to create an automated drift report to keep an eye on the health of some of our databases. I have this working and sending out emails etc.... no problem there.

I just have some concerns about registering all our live databases as Data-tier applications.

We currently use SQLPackage.exe for our deployments. I plan on adding

<BlockWhenDriftDetected>False</BlockWhenDriftDetected>
<RegisterDataTierApplication>True</RegisterDataTierApplication>

to each of our publish.xml files we use.

Now the questions are.

Does this have any effects on the other parameters in the xml file? The MSDN documentation doesn't mention any.

Are there any server level changes I should be aware of?

Can this change our backup procedure at all?

All my testing so far indicates no. The reason i am nervous is because, if I were to be publishing from Visual Studio, when you tick the "Register as data-tier application" box, your further options are then greyed out. Leading me to believe it DOES make a difference.

Opinions welcome!

Thanks!


Solution

  • [Disclaimer]: I work for Microsoft.

    Hello Kirky1

    The deploy options do affect the deployment even though VS disables the advanced option when you select the "Register as Data-tier Application". If you are only setting options that do not affect comparison of the dacpac, like BlockWhenDriftDetected, you are fine. If you also set options that do affect comparison, like "Exclude Users", you may run into issues where drift detection will block the deployment. This is caused by the fact that the comparison for drift detection uses the default deploy options.

    Given your scenario of using BlockWhenDriftDetected = false the issue of the options being ignored for drift comparison should not impact you and any deploy options you do set will be honored when deploying your dacpac/project.

    I hope this helps.

    Lonny