This is a discussion on Run all .sql files (scripts) in project (SQL Server 2005 SP2) within the SQL Server forums, part of the Microsoft SQL Server category; --> Hello, I've run as many keyword combinations searching for this as I can think of, but cannot find a ...
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| Hello, I've run as many keyword combinations searching for this as I can think of, but cannot find a simple answer. The situation: I have a database that is mid-conversion/redevelopment. I frequently rebuild my dev copy from the production version, which requires a bunch of DDL script, and then adding in all the stored procedures necessary to the new version only. Each sp may have changed since the last time it was run, so I can't exactly keep them all concatenated in a single file or anything like that. So the only way I can see to execute each and every one of these saved script files is to open it up in SSMS and hit F5 for execute. This is a silly waste of time, it seems to me, and hardly foolproof. Is there not some simple way to run every script in a project? What purpose does a project serve, otherwise? (Worth mentioning that the tool I found here http://www.codeproject.com/useritems...riptRunner.asp does not seem to work.) Thanks in advance. |
| |||
| downwitch (downwitch@gmail.com) writes: > I've run as many keyword combinations searching for this as I can > think of, but cannot find a simple answer. > > The situation: I have a database that is mid-conversion/redevelopment. > I frequently rebuild my dev copy from the production version, which > requires a bunch of DDL script, and then adding in all the stored > procedures necessary to the new version only. Each sp may have changed > since the last time it was run, so I can't exactly keep them all > concatenated in a single file or anything like that. > > So the only way I can see to execute each and every one of these saved > script files is to open it up in SSMS and hit F5 for execute. This is > a silly waste of time, it seems to me, and hardly foolproof. Is there > not some simple way to run every script in a project? What purpose > does a project serve, otherwise? SQL code should be kept under source control, just likely any other code, and deployment should be done from the version-control system. Having said that, there are a couple of options you consider. One is SQL Compare from Red Gate, although they currently have no direct support for Source Control. The latest version supports comparing a database to folder structure on disk, though. A much more simple-minded way is to get a list of all stored procedures you need to load. Put that in a text file, and then use a text editor with good find-replace capabilities to transform the list to a BAT file that runs SQLCMD to load the files. Just make sure that you run SQLCMD with the -I option, so that you run with QUOTED_IDENTIFIER ON. -- Erland Sommarskog, SQL Server MVP, esquel@sommarskog.se Books Online for SQL Server 2005 at http://www.microsoft.com/technet/pro...ads/books.mspx Books Online for SQL Server 2000 at http://www.microsoft.com/sql/prodinf...ons/books.mspx |
| |||
| On Aug 22, 5:52 pm, Erland Sommarskog <esq...@sommarskog.se> wrote: > downwitch (downwi...@gmail.com) writes: > > I've run as many keyword combinations searching for this as I can > > think of, but cannot find a simple answer. > > > The situation: I have a database that is mid-conversion/redevelopment. > > I frequently rebuild my dev copy from the production version, which > > requires a bunch of DDL script, and then adding in all the stored > > procedures necessary to the new version only. Each sp may have changed > > since the last time it was run, so I can't exactly keep them all > > concatenated in a single file or anything like that. > > > So the only way I can see to execute each and every one of these saved > > script files is to open it up in SSMS and hit F5 for execute. This is > > a silly waste of time, it seems to me, and hardly foolproof. Is there > > not some simple way to run every script in a project? What purpose > > does a project serve, otherwise? > > SQLcode should be kept under source control, just likely any other code, > and deployment should be done from the version-control system. > > Having said that, there are a couple of options you consider. One isSQLComparefrom Red Gate, although they currently have no direct support > for Source Control. The latest version supports comparing a database to > folder structure on disk, though. > > A much more simple-minded way is to get a list of all stored procedures > you need to load. Put that in a text file, and then use a text editor > with good find-replace capabilities to transform the list to a BAT > file that runs SQLCMD to load the files. Just make sure that you run > SQLCMD with the -I option, so that you run with QUOTED_IDENTIFIER ON. > > -- > Erland Sommarskog,SQLServerMVP, esq...@sommarskog.se > > Books Online forSQLServer2005 athttp://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/books... > Books Online forSQLServer2000 athttp://www.microsoft.com/sql/prodinfo/previousversions/books.mspx- Hide quoted text - > > - Show quoted text - downwitch - we have a new product that will be released in the next few days, xSQL Builder that allows you to create a database deployment package which between other things allows you to specify a folder where you can have all the scripts you want to run before the database synchronization takes place and also you can specify a folder where all your post synchronization scripts are. The application will run all those scripts on one big transaction and log everything. Email us at our support address @ xsqlsoftware.com and we will send you the pre-release build so you can give it a try. Thanks, JC xSQL Software http://www.xsqlsoftware.com |
| ||||
| On Aug 22, 11:24 am, downwitch <downwi...@gmail.com> wrote: > Hello, > > I've run as many keyword combinations searching for this as I can > think of, but cannot find a simple answer. > > The situation: I have a database that is mid-conversion/redevelopment. > I frequently rebuild my dev copy from the production version, which > requires a bunch of DDL script, and then adding in all the stored > procedures necessary to the new version only. Each sp may have changed > since the last time it was run, so I can't exactly keep them all > concatenated in a single file or anything like that. > > So the only way I can see to execute each and every one of these saved > script files is to open it up in SSMS and hit F5 for execute. This is > a silly waste of time, it seems to me, and hardly foolproof. Is there > not some simple way to run every script in a project? What purpose > does a project serve, otherwise? > > (Worth mentioning that the tool I found herehttp://www.codeproject.com/useritems/SSMSScriptRunner.aspdoes not > seem to work.) > > Thanks in advance. Hello downwitch, xSQL Software has just released a free utility, xSQL Script Executor, that allows you to run multiple T-SQL scripts at once - you can choose individual scripts or whole folders and run them all. You can choose to wrap all scripts in one big transaction or not, you can call it from the command line etc. Check it out at: http://www.xsqlsoftware.com/Product/...orDetails.aspx Thanks, JC xSQL Software http://www.xsqlsoftware.com |
| Thread Tools | |
| Display Modes | |
|
|