Scripting out a Database Diagram

In sql server 2005, is it possible to script out a database diagram?
brettrAsked:
Who is Participating?
 
Anthony PerkinsConnect With a Mentor Commented:
>>instead of mydatabase..dtproeprties try mydatabase.dbo.dtproperties, or replace "dbo" with the schema that the dtproperties table is in. <<
dtproperties no longer exists in SQL Server 2005, that is unless the database was migrated from SQL Server 2000, in which case it could probably be safely DROPped.
0
 
Philippe DamervalSenior Analyst ProgrammerCommented:
Hi,
Not sure what you mean by scripting out a database diagram? If you mean script out your database, yes, there are tools for that. If you mean turn the data normally stored in the dtproperties table into a set of insert/update statements, here is a link to an article about someone who did just that - although, considering that it is all binary data, you would probably be better off with a simple backup.

Here is the link:
http://www.codeproject.com/KB/database/ScriptDiagram2005.aspx

Hope this helps,

Philippe
0
 
brettrAuthor Commented:
I only mean scripting a database diagram.  I've created new tables and linked olds within the diagram.  I want that scripted out via the database diagram.
0
Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
Philippe DamervalSenior Analyst ProgrammerCommented:
Still having trouble with the terminology.
If you want your database diagram scripted instead of just saved as data in dtproperties, then follow the link I pointed you to.
If you want your tables and relationships scripted, use other tools: either the ones that came with SQL server management studio that allow you to script objects in the database (tables, indexes and constraints etc) by right-clicking on a table or other object and choosing "script table as CREATE to..." or by using third party tools such as EMS SQL studio (my favorite) or red gate that let you script out an entire database in one command.

Let me know if I am still misunderstanding you.

Philippe
0
 
brettrAuthor Commented:
I'd like to save the diagram and then load it into a copy of the same database that does not have the diagram.  This means the new tables and relations will need to be created.  Is there a way to do that without going to each table and scripting it?  After I change anything in the diagram, I have to go to each object and script them.  That is what I'm trying to avoid until the diagram is finalized.

Is there a way to do that without running all of the scripts mentioned in the link you provided?

Thanks.
0
 
Anthony PerkinsCommented:
So are you asking:
Is there a way to transfer a SQL Server diagram for a database to another SQL Server database with an identical schema?  If so check this out:
http://www.mssqlcity.com/FAQ/TranMove/MoveDiag.htm
0
 
Philippe DamervalSenior Analyst ProgrammerCommented:
I think the following process is what you are trying to do:

1. Create new objects using a database diagram (you've done this)
2. Copy the database diagram into a copy of the current database that does not have the objects
3. Have the diagram automatically create the missing objects in the database copy.

If so, you can't do that - but you can use one of the tools I indicated to compare the two database and automatically generate a set of scripts to bring over any changes.

Philippe
0
 
brettrAuthor Commented:
@acperkins:

When I try to run just the select from the link you provide, I get:
Invalid object name 'mydatabase..dtproperties'
0
 
Philippe DamervalSenior Analyst ProgrammerCommented:
This message indicates that the dtproperties table is mising. If the dtproperties table doesn't exist that just means there have not been any diagrams created yet for the target database.

Philippe
0
 
brettrAuthor Commented:
There are two diagrams in the database I'm SELECTing on.
0
 
Philippe DamervalSenior Analyst ProgrammerCommented:
instead of mydatabase..dtproeprties try mydatabase.dbo.dtproperties, or replace "dbo" with the schema that the dtproperties table is in.
0
 
Anthony PerkinsConnect With a Mentor Commented:
You are right.  In SQL Server 2005 the diagrams are no longer stored in dtproperties but rather in sysdiagrams.  The sysdiagrams table is created after you select "Yes" at the following message box:
"This database does not have one or more of the support objects required to use database diagramming. Do you wish to create them?"

See if this article helps:
Script SQL Server 2005 diagrams to a file
http://www.codeproject.com/KB/database/ScriptDiagram2005.aspx
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.