views:

386

answers:

4

For an automated setup build that generates the setup for an application which uses Microsoft SQL Server, I am currently evaluating whether the following is possible:

I want to programmatically (CMD script or C# code) execute the function "Generate Scripts" on a database that is accessible from Microsoft SQL Server Management Studio 2008.

I.e. call some code and have all the objects (tables, SPs, constraints, etc.) of a specified database as an SQL script.

Currently, I only need the structure, not the data.

Question: Is it possible to achieve this goal?

Thank you
Uwe

+2  A: 

I wrote SMOscript, a command line tool to script all objects into a single file, or one file for all objects.

The Generate Scripts function of MSSQL typically does not consider references and dependencies to determine the sequence of objects (at least that was the case with 2000 and 2005)

devio
+1  A: 

You should be able to do it in managed code using SMO

Kane
A: 

You could invoke a standard select clause (using ADO.NET for example) over the sysobjects view.

Konamiman
A: 

I used http://www.codeplex.com/ScriptDB with great success.

Malcolm Frexner