SqlSpec will generate easy-to-read docs for any SQL Server, Oracle, DB2, MySQL, PostgreSQL, Analysis Server, or Access database.
Given one or more connection strings, SqlSpec will generate documentation about all the tables, views, stored procedures, triggers, indexes, constraints, schemas, assemblies, CLR procedures, xml schema collections, synonyms, symmetric and asymmetric keys, user defined types, and user defined functions in your database.
It will also tell you what the dependencies are (which tables point to other tables via foreign keys, which tables are used by which stored procedures, etc.) It will show the code for each trigger, view, user defined function, check constraint, and stored procedure in the database. You can set SqlSpec to generate output in CHM and HTML format
You can configure it to add external objects (such as web pages, COM objects, and other external code) to the documentation as well. You can even incorporate such objects into the dependency graphs generated by SqlSpec.
With SqlSpec, it is easy to keep documentation in sync with the actual database, since you can just run SqlSpec on your databases and your documentation gets updated.
Here are some key features of "SqlSpec":
· Show scripts for all objects documented.
· Ability to add your own branding logo (headers and footers) to each page in the documentation.
· Run as a console application, useful for automating SqlSpec to generate documentation for your databases on a schedule, or integrating SqlSpec into your development process.
· Supports XML comments added to your stored procedures, user defined funtions, views, and triggers, similar to XML comments in C# code. These comments are parsed by SqlSpec and the content is placed in your documentation.
· Include external objects (such as web services, web pages, and other components) in the documentation. Specify dependencies of external objects on database objects and they will be included in the dependency graphs.
· Creates data model diagrams where any database object (or external object) can be represented.
· Specify an exclusion list so that certain objects (or just the SQL code for them) can be excluded from the documentation.
· Specify a custom navigation hierarchy to include arbitrary HTML files in the generated CHM.
· Generate dependency and primary/foreign key graphs. Such diagrams are much easier to understand at a glance than a flat list of dependent objects.
· Generate a call graph for sprocs and udfs that call other sprocs and udfs.
· Fine control over what object types are documented.
· Support for every major DBMS in a single affordable tool.
Requirements:
· Net Framework 2.0
Limitations:
· Nag screen
· Inserts text into the generated documentation of the trial version
What's New in This Release: [ read full changelog ]
· Support for Sybase SQL Anywhere
· Added a “choose objects” page in the GUI where you can specify what object types you want to document. Added many command line flags to support this.
· Support for all 12 DBMS platforms in the “exclude objects” GUI. Previously this GUI supported only SQL Server.
· Support for arbitrary HTML in database comments – see /pt command line switch.
· Support for using a different extended property from MS_Description for object comments. This is useful if you want to localize your documentation and have the same comment in multiple languages.
· Analysis Server: support for XML comments in MDX scripts. This enables documentation of calculated members.
· Support for cross database and cross server dependencies (through linked servers)
· Support for column dependencies. That is, SqlSpec will tell you which columns of which tables a stored procedure selects or updates.
· SQL Server: support for XML comments on objects that don’t have their DDL stored on the server, such as tables. This is implemented with extended properties.
· SQL Server: add extended properties filter. Using this you can restrict by name the extended properties that are fetched by SqlSpec.
· Access: fix bug where SqlSpec could not document linked tables. This was due to a limitation in the API that SqlSpec was using, GetOleDbSchemaTable. We switched to using DAO and that seems to have fixed it. We still use GetOleDbSchemaTable if DAO is not installed however.