SqlServer导出关系图到.sql文件

SqlServer导出关系图到.sql文件,第1张

概述  SqlServer导出关系图到.sql Vegeta原创: SqlServer2008R2自带的数据库关系图,方便我们可视化管理数据库表,提供更友好的数据库架构管理方式,但是如果将它导出到.sql文件呢? 我们都知道数据库模型图是存在系统表[sysdiagrams]之中的,虽然SqlServer2008R2数据库下的“任务——导出数据”提供了将表相同的数据库模型图导入另一表,但是却不能将其导出   sqlServer导出关系图到.sql

vegeta原创:

sqlServer2008R2自带的数据库关系图,方便我们可视化管理数据库表,提供更友好的数据库架构管理方式,但是如果将它导出到.sql文件呢?

我们都知道数据库模型图是存在系统表[sysdiagrams]之中的,虽然sqlServer2008R2数据库下的“任务——导出数据”提供了将表相同的数据库模型图导入另一表,但是却不能将其导出到.sql文件。

废话不多说了,建立一个Test的测试库,随便建立一个表也叫test,建立一个数据库模型图,将test表加入其中。效果如下:

执行如下sql将数据库模型图放入一个中间表:

SELECT * into 数据库模型图 FROM dbo.sysdiagrams;

选择Test数据库,右键 任务- >生成脚本->下一步->选择特定数据库对象

下一步->高级->选择导出数据和架构

确定->选择一个合适的sql保存位置->下一步-》下一步->完成;

打开生成的脚本在最后一行追加粘贴如下sql:

CREATE table [dbo].[sysdiagrams]

(

[name] [sys].[sysname] NOT NulL,

[principal_ID] [int] NOT NulL,

[diagram_ID] [int] NOT NulL IDENTITY(1, 1),

[version] [int] NulL,

[deFinition] [varbinary](max) NulL

) ON [PRIMARY] TEXtimage_ON[PRIMARY]

GO

ALTER table [dbo].[sysdiagrams] ADD CONSTRAINT [PK__sysdiagr__C2B05B61023D5A04]PRIMARY KEY CLUSTERED  ([diagram_ID]) ON [PRIMARY]

GO

ALTER table [dbo].[sysdiagrams] ADD CONSTRAINT [UK_principal_name]UNIQUE NONCLUSTERED  ([principal_ID], [name]) ON [PRIMARY]

GO

EXEC sp_addextendedpropertyN'microsoft_database_tools_support', 1, 'SCHEMA', N'dbo', 'table', N'sysdiagrams', NulL, NulL

GO

 

INSERT sysdiagrams(name,principal_ID,[version],[deFinition])

SELECT name,[deFinition] FROM [数据库模型图];

Go

建立新数据Test1,执行拼合的脚本效果如下:

打开数据库关系图,效果和原来一样。

总结

以上是内存溢出为你收集整理的SqlServer导出关系图到.sql文件全部内容,希望文章能够帮你解决SqlServer导出关系图到.sql文件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1161211.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存