gpt4 book ai didi

sql-server - 如何将 SQL Server 2008 数据库图表导出到另一个数据库?

转载 作者:行者123 更新时间:2023-12-01 19:31:45 25 4
gpt4 key购买 nike

我使用 SQL Server 2008 中方便的数据库图表工具来创建和管理关系。我已将源数据库导出到目标数据库,但未显示图表。

我正在环顾四周,试图找出如何将一个数据库中的图表导出到另一个数据库中......这个 online KB article失败,因为 select * from dtproperties 不再存在。

最佳答案

@Ash 我也遇到了同样的问题。这是我们为解决这个问题所做的事情...

系统图似乎存储在“sysdiagrams”表中。因此,您需要做的第一件事是确定要复制的图表的diagram_id。运行以下查询以列出所有内容。 ** 请注意,您需要将“SourceDB”替换为您的数据库名称。

-- List all database diagrams
SELECT * FROM [SourceDB].[dbo].sysdiagrams

然后您可以使用 INSERT 将图表从一个数据库复制到另一个数据库,如下所示。 ** 请再次注意,将“SourceDB”替换为包含现有图表的数据库名称,将“DestinationDB”替换为您要复制到的数据库名称。另外 @SourceDiagramId 应设置为上面检索到的 id。

-- Insert a particular database diagram
DECLARE @SourceDiagramId int = 1

INSERT INTO [DestinationDB].[dbo].sysdiagrams
SELECT [name],diagram_id , version,definition from [SourceDB].[dbo].sysdiagrams
WHERE diagram_id = @SourceDiagramId

然后您需要手动将“principal_id”设置为1。

-- Update the principal id (no idea why, but it set the owner as some asp_net user
UPDATE [DestinationDB].[dbo].sysdiagrams
SET principal_id = 1

这对我们来说很有效,尤其是因为图表完全存储在单个二进制字段“定义”中。

答案来自: http://www.dotnetspider.com/resources/21180-Copy-or-move-database-digram-from-for.aspx

关于sql-server - 如何将 SQL Server 2008 数据库图表导出到另一个数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4019560/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com