Programmatically generate script for all objects in a database

笑着哭i 提交于 2019-12-28 18:49:31

问题


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?


回答1:


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)




回答2:


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




回答3:


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




回答4:


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




回答5:


Microsoft has also released a tool called 'mssql-scripter'. It can be found here: mssql-scripter



来源:https://stackoverflow.com/questions/1695738/programmatically-generate-script-for-all-objects-in-a-database

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!