SQL Server 2000 provides a tool called scptxfr which generates DROP and CREATE scripts for all objects in a database.
Since it is not included in the latest SQL Server versions, I developed a replacement for scptxfr which uses the .Net SMO libraries for script generation called SMOscript.
The SMOscript utility implements the following functions:
- list all databases on a server
- list all scriptable objects in a database
- script CREATE or DROP statements for each object in database
- find string literals used in TSQL code
- find strings in TSQL modules
- display object dependencies
- check objects
- list data diagrams, and tables in data diagrams
- optionally (-td) split CREATE TABLE into table and table details scripts
- filter operations by object names
Resulting scripts are either written to a single file, or to a separate file for each object. Table scripts will include child objects such as constraints and triggers.
Command line switches were selected to be compatible with scptxfr, but support both “-” and “/” as switch marker.
devioblog describes the latest changes to SMOscript here. SMOscript is available for download here.