In SqlServer2000 I used the Database Diagram for documentation. I divided the Database (120 tables) in four diagrams (each the size of a single page A4) on the 4 subjects of the db (customers, employees, bookings, internet). I copy-pasted (printscreen) in in a Word document and had a low cost superb solution.

But then came 2005 and the captions (table name)came in a new big bold font. And it needed an empty line at the bottom (or you get a scrollbar which makes the table ugly and more width). And it didn't fit on a page any more. So 2005 blew up my documentation

Figure 6 is incorrect, you do not have to create the script and then return to the database model. You need to turn off the validation that SQL Management Studio has built in for changes that require a table to be recreated.

I gave this article a good score - I don't know why it is getting bashed in the ratings (only an average of 2 when I voted). The English is well written and it covers most of the basics of the diagram tool. I already knew all of the material (I always use the diagram tool) but I'm going to assign my intro database students to read this next semester along with the other articles they get assigned.

I like the database diagraming tools within SQL Server, however I learned not to use them because they are tied to intimately with the database. In 2005, I built up elaborate diagrams of each schema of the system I work on, but then when it came time to do an entire database refresh into our dev environment from the test environment, I couldn't find a way to export the diagrams out of the database in a way that could be imported back in later after the refresh (refresh was a backup and restore of test database). Does anyone know if they've solved this issue or found a way that I've missed? Untill then, I'll stick with outside tools to do my documentation and diagraming.

I stopped using the DD because when visualizing the DB and you link or make a change to the diagram it actually makes the change in the DB tables. What I have been looking for is a tool like this to use for documentation, and the actual foreign keys and linkages are done programmatically through views/SP/Scripts. Problem with Visio is our version will not read 2005 let alone 2008.