加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SqlServer导出关系图到.sql文件

发布时间:2020-12-12 12:49:49 所属栏目:MsSql教程 来源:网络整理
导读:??SqlServer导出关系图到.sql Vegeta原创: SqlServer2008R2自带的数据库关系图,方便我们可视化管理数据库表,提供更友好的数据库架构管理方式,但是如果将它导出到.sql文件呢? 我们都知道数据库模型图是存在系统表 [sysdiagrams] 之中的,虽然SqlServer20

??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,执行拼合的脚本效果如下:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读