Making SSDT just generate a SQL script (and not deploy a database)
Asked Answered
R

4

8

Having recently upgraded to SSDT 2012 I seem to be missing the option to just generate a T-SQL script instead of deploying the database to a server somewhere.

To be more accurate the predecessor to SSDT used to set the Deploy action to 'Generate script', but I cannot locate that option anywhere in the new version.

Is it possible?

Rivarivage answered 5/4, 2012 at 16:15 Comment(0)
L
13

To generate a script from an offline data project in SSDT rather than deploy to a target database, configure the project settings as shown below

SSDT deployment configuration dialogue boxes

Lykins answered 25/5, 2012 at 2:28 Comment(3)
Thanks Lynn, have made this change and if it doesn't create the database over the next few days I'll change the accepted answerRivarivage
@Lynn The link to the image is broken, do you know the name of the settings I need to change (and their values)?Ley
@Lynn The link is not broken, the site on which the image is hosted was blocked by our company firewall :-( Sorry about thatLey
P
7

You may want to look at the SQLPackage command line. You can set the options there to use an action of "script" and specify an outputfile name to generate scripts instead of publishing the database. You can also do that through a batch file so it will generate a script every time. You still need to provide a source project and target database, though. The reference for SQLPackage can be found here: http://msdn.microsoft.com/en-us/library/hh550080%28v=VS.103%29.aspx

Provencal answered 7/5, 2013 at 16:45 Comment(1)
Great alternate answer: CLI instead of GUI.Basinet
I
4

Yes, it is possible.

Is you select Build > Publish ProjectName... from the menu bar, a dialog window pops-up with publishing options – there's a Generate Script button at the bottom of the dialog window.

Intramuscular answered 5/4, 2012 at 16:53 Comment(2)
And when I do this then it does it for each subsequent build until such time as I change it again?Rivarivage
No, I'm afraid I'll have to do it everytime.Intramuscular
R
0

I also had a problem where the SSDT project would attempt to deploy changes when the project was run.

In the project properties, choose the "Debug" tab. Change the Start Action to "None". That will prevent it from trying to deploy at that time.

Ra answered 17/7, 2014 at 18:30 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.