# IT:AD:WebDeploy:HowTo:Publish Databases #
* [[../|(UP)]]
{{indexmenu>.#2|nsort tsort}}
## Process ##
* IMPORTANT: Publish from VS is intended for deployment of the Db only the first time.
* IMPORTANT: There is no incremental delivery story [src](http://bit.ly/zE6LYA)
* Would require AD account to have SQL server rights on the db server
* Resources:
* [MSDN](http://bit.ly/y653uM)
* First Time Deployment:
* In VS > Solution Explorer > Project Node > Properties > SQL Settings
* Select the Build (Debug, Release, etc.)
* Easiest way to fill grid is use `Import from Web Config`
* IMPORTANT: For redeployment scenarios uncheck the `Deploy` checkbox to not resend anything you don't want
* Select a Row/Db
* Enter the ConnectionString to use during deployment
* This may be different than runtime connection string (imported from web.config) due to needing different admin UserName/Pwd...
* TODO: Eg. Current deployer's account? But isn't that already being passed through?
* IMPORTANT: By default imported connection strings are also set to automatically generate a script to create Structure of remote db based on connection string found in local dev connection string.
* IMPORTANT: Consider turning it off...
* Tip: for ASP.NET Db read [MSDN](http://bit.ly/y653uM)
* Tip: for deployment to Azure read [MSDN](http://bit.ly/y653uM)
* You can add new custom script.
* Subsequent ReDeployment:
* IMPORTANT: For redeployment scenarios uncheck the `Deploy` checkbox to not resend anything you don't want
* IMPORTANT: In the Database Scripts grid, clear the Include check boxes (especially any for automatically generated scripts).
* Add a custom script.
* Cool: if your script is an incremental update, as we did for [[IT/Projects/ANZ/GTM2/]] using [[IT/AD/SQL Server/HowTo/SQL/DDL/Deployment/Log]] then all updates will be incrementally applied, safely.