Paul Nielsen
pauln at sqlserverbible.com
Tue Mar 25 15:07:31 CDT 2008
Source code belongs in source code control. Developing in a gui is just plain dangerous. All I'm saying is that when you code the sproc, do it in query editor and then save the file. Don't use Object Explorer to create new proc, save it in the database and then edit it by opening it from the database. It's the same code, the difference is that the database is the destination of the code, not where you keep it. You keep the code in source control. I do all my development from files in directories that I open, edit, and then run. It's the fastest way to develop with SQL Server. If you develop with multiple databases and multiple severs then you really need to work this way. You open you file, connect to whichever server you want, and then press F5. It's fast, simple, and easy. In SQL Server lingo, any submission to the database is a batch. If you highlight a query and press F5 - that's a batch. If the batch is saved in the database, that's a stored proc. If you've been working with SQL Server you've been doing batches. The question is only where do you want to save your source code? -Paul -----Original Message----- From: dba-sqlserver-bounces at databaseadvisors.com [mailto:dba-sqlserver-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Tuesday, March 25, 2008 1:53 PM To: 'Discussion concerning MS SQL Server' Subject: Re: [dba-SQLServer] Copy a database using a storeprocedure orfunction I have to tell you Paul that your world is not accessible to the average Joe trying to get work done. I am not a SQL Server admin or a Sql Server anything, I am a guy trying to fill an order. I haven't the slightest interest in spending the next 10 years becoming a command line guru. I want to write a line of code Copy "SomeDatabaseName", "SomeOtherDatabaseName" If it is more complex than that then it is useless to me. In any given week, I support a call center application in Connecticut (via a tunnel and RDT), a pair of databases in a town just north of Phili (via RDT), my servers, pick up information on building virtual machines, download and install firewalls, and fill orders on a largish database shipping email lists to clients etc. I am just me, running a business. We live in 2008, not 1958. I am not feeding punched cards into a card hopper, I am trying to solve a problem. Anything that stands in the way of solving that problem is a curse, not a blessing. SQL Server simply sucks compared to almost anything else out there in 2008. Batches? Give me a break!!! Command lines? I did that in 1982 with CPM, I do not expect to do that in 2008 with SQL Server. TWENTY FIVE YEARS AGO I DID COMMAND LINES. My computer is three orders of magnitude more powerful than 1982. My programming languages are several orders of magnitude more powerful than 1982. My database is several orders of magnitude more powerful than 1982. And yet I am supposed to use batches and command lines to control it????? That is like programming in Fortran by lining up the columns of a line of code in the columns of a punched card! I did that (in 1984). You may very well love that crap, but it is not useful to the ordinary Joe. Using primitive tools is not a sign of intelligence (or manliness). It is merely a sign of the sorry state of the tool. Just my opinion of course. Trying to get WORK done here. John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: dba-sqlserver-bounces at databaseadvisors.com [mailto:dba-sqlserver-bounces at databaseadvisors.com] On Behalf Of Paul Nielsen Sent: Tuesday, March 25, 2008 3:25 PM To: 'Discussion concerning MS SQL Server' Subject: Re: [dba-SQLServer] Copy a database using a storeprocedure orfunction Never Ever build any objects using SSMS Object Explorer. Develop everything - DDL/Schema, procs, unit test inserts, and proc test batches ALL with scripts stored as .sql files in the file system and checked into source control. -----Original Message----- From: dba-sqlserver-bounces at databaseadvisors.com [mailto:dba-sqlserver-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Tuesday, March 25, 2008 1:09 PM To: 'Discussion concerning MS SQL Server' Subject: Re: [dba-SQLServer] Copy a database using a store procedure orfunction James, That is an interesting solution. My main objection to that (other than being so 1950s-ish) is it doesn't adapt to changes, i.e. any time I add a new view or stored procedure etc I have to rebuild the script. I just want to Copy "SomeDatabase", "NewName" This is the kind of thing that drives me crazy about SQL Server. It has the IQ of a mouse when it comes to programming. I'm telling you the . Language of Dbase II was like Einstein compared to what you have to do with SQL Server. "Generate scripts"? The database is a single file (OK it could be more, but still...), what is so damned hard about copying that and telling it that it has a new name? To make matters worse, there is a wizard that does it. Why can't I just call whatever function that wizard calls and pass in the parameters that the wizard gathers and copy my database? 19 When I want pain, I go to my mistress downtown and she uses a cat-o-nine. When I really want some TORTURE I fire up SQL Server and try and do some work. ;-) John W. Colby Colby Consulting www.ColbyConsulting.com -----Original Message----- From: dba-sqlserver-bounces at databaseadvisors.com [mailto:dba-sqlserver-bounces at databaseadvisors.com] On Behalf Of James Barash Sent: Tuesday, March 25, 2008 2:40 PM To: 'Discussion concerning MS SQL Server' Subject: Re: [dba-SQLServer] Copy a database using a store procedure orfunction John: If you only need to copy the design of the database but not the data, you can use the scripting wizard to create a script of all the objects and use that to make the new database. If you are using SQL Server 2005, Right-Click on the database, select Tasks -> Generate Scripts. Then you can choose to script all the objects, including Tables, Views, Stored Procedures, UDF, Users, etc; or you can choose individual objects. Once you've created the script, add the appropriate Create Database statement at the top and save the script to a file and you will be able to build as many database as you need from the same template. Hope this helps. James Barash -----Original Message----- From: dba-sqlserver-bounces at databaseadvisors.com [mailto:dba-sqlserver-bounces at databaseadvisors.com] On Behalf Of jwcolby Sent: Tuesday, March 25, 2008 2:06 PM To: 'Discussion concerning MS SQL Server' Subject: [dba-SQLServer] Copy a database using a store procedure or function I have built up a template database which has views that pull data out of many different databases / tables. Additionally I now have user stored procedures which perform processing steps. In real life I manually copy this template database to a new name using the copy database wizard, and then run the stored procedures and stuff to build up a data order for shipment. What I really need to do is have a method of copying this database to a new name and then "use" that database to launch the various stored procedures inside of it to fill the tables, build the data and export the data. Is there a function or sp which can copy a database to a new name? When I Google I get about a million "use the copy database wizard" answers. John W. Colby Colby Consulting www.ColbyConsulting.com _______________________________________________ dba-SQLServer mailing list dba-SQLServer at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-sqlserver http://www.databaseadvisors.com _______________________________________________ dba-SQLServer mailing list dba-SQLServer at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-sqlserver http://www.databaseadvisors.com _______________________________________________ dba-SQLServer mailing list dba-SQLServer at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-sqlserver http://www.databaseadvisors.com __________ NOD32 2971 (20080325) Information __________ This message was checked by NOD32 antivirus system. http://www.eset.com _______________________________________________ dba-SQLServer mailing list dba-SQLServer at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-sqlserver http://www.databaseadvisors.com _______________________________________________ dba-SQLServer mailing list dba-SQLServer at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/dba-sqlserver http://www.databaseadvisors.com __________ NOD32 2971 (20080325) Information __________ This message was checked by NOD32 antivirus system. http://www.eset.com