SqlServer导出关系图到.sql文件
??SqlServer导出关系图到.sqlVegeta原创: 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,执行拼合的脚本效果如下: 打开数据库关系图,效果和原来一样。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |