尝试修改数据库图表时 SSMS 崩溃 (v18.2)

SSMS crashes when try to modify database diagram (v18.2)

当我尝试修改在应用程序重新启动之前创建的数据库图时,在尝试访问时崩溃了。 只有当我保存图表并关闭应用程序时才会发生。当我尝试重新打开时它抛出一个错误然后重新启动 SSMS。

我是 运行 SQL Server 14.0.100 Express Edition。

我查看了 Microsoft 事件查看器,我得到了这个:

Faulting application name: Ssms.exe, version: 2019.150.18142.0, time stamp: 0x5d3573be Faulting module name: DataDesigners.dll, version: 2019.150.18142.0, time stamp: 0x5d3573f0 Exception code: 0xc0000005 Fault offset: 0x00004be8 Faulting process id: 0x5ec8 Faulting application start time: 0x01d56d761e232f6c Faulting application path: C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Ssms.exe Faulting module path: C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Tools\VDT\DataDesigners.dll Report Id: e797c8be-6448-4547-9f6f-146cd92d8178 Faulting package full name: Faulting package-relative application ID:

2020 年 7 月 22 日,MS 发布了 SSMS 版本 18.6,其 Bug Fixes 列表中的一项是 数据库图:

Fixed long outstanding issue with Database Diagrams, causing both the corruption of existing diagrams and SSMS to crash. If you created or saved a diagram using SSMS 18.0 through 18.5.1, and that diagram includes a Text Annotation, you won't be able to open that diagram in any version of SSMS. With this fix, SSMS 18.6 can open and save a diagram created by SSMS 17.9.1 and prior. SSMS 17.9.1 and previous releases can also open the diagram after being saved by SSMS 18.6. See SQL Server user feedback.

他们指的是我在下面的原始答案中提到的 UserVoice 项。 该项目获得了 1239 票,现在被 Completed 标记为 link 到 blog post,SQL 服务器程序经理 Drew Skwiers-Koballa。博客 post 的文字几乎相同:

The 18.6 release is the second major release of SSMS in 2020 and packs several high impact changes, including a fix for crashes in database diagrams.

If you created or saved a diagram using SSMS 18.0 through 18.5.1, and that diagram includes a Text Annotation, you won’t be able to open that diagram in any version of SSMS. With this fix, SSMS 18.6 can open and save a diagram created by SSMS 17.9.1 and prior as well as by other SSMS 18.6 instances. SSMS 17.9.1 and prior versions will also be able to open the diagram after being saved by SSMS 18.6.

这是我在 SSMS 18.6 发布之前写的原始答案。


MS 承认自 18.2(仍为 18.5.1)起,SSMS 中的数据库图表功能存在问题。您可以使用之前的 SSMS version 17.9.1,它支持您使用的 SQL Server 2017 的所有功能。

事实上,他们在 SSMS 18.0 中删除了数据库图表功能,然后在 18.1 after people asked for it 中将其返回,但它有一个问题。

在已知问题 (18.2) 下的 Release notes for SQL Server Management Studio (SSMS) 中有一项:

Database Diagram created from on an SSMS running on machine A cannot be modified from machine B (it would crash SSMS). See UserVoice for more details.

投票修复 UserVoice: SSMS 18.1 Crashes when Opening a Database Diagram

微软产品经理在那里回复:

I’d like to provide an update on this issue/

Unfortunately, it is proving to be pretty complex to deal with this this ancient technology that is used by SSMS. That’s why it’s being quite challenging for me to find a fix.

I’ll keep working on this, but sadly there is no fix in sight yet.

-Matteo

问题已在 18.6 中得到修复,今天进行了更新并且效果很好,但请注意,您必须重新创建您在 18.0 到 18.5 版本中创建的所有图表。如果您使用 18.6 再次创建它们,它们将打开而不会崩溃。