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

19
当我尝试修改应用程序重启前创建的数据库图表并在尝试访问时崩溃时。仅当我保存图表并关闭应用程序时才会发生。当我尝试重新打开它时,会抛出错误然后重新启动SSMS。
我正在运行SQL Server 14.0.100 Express Edition。
我查看了Microsoft事件查看器并得到了这个:
故障应用程序名称:Ssms.exe,版本:2019.150.18142.0,时间戳:0x5d3573be 故障模块名称:DataDesigners.dll,版本:2019.150.18142.0,时间戳:0x5d3573f0 异常代码:0xc0000005 故障偏移量:0x00004be8 故障进程ID:0x5ec8 故障应用程序启动时间:0x01d56d761e232f6c 故障应用程序路径:C:\Program Files(x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Ssms.exe 故障模块路径:C:\Program Files(x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Tools\VDT\DataDesigners.dll 报告ID:e797c8be-6448-4547-9f6f-146cd92d8178 故障包全名: 故障包相关应用程序ID:

1
我建议,如果你正在使用可视化设计器进行模式更改,你应该学习如何使用T-SQL来完成。设计器看起来很容易,但它会引起其他问题,比如对于约束等名称不合理的情况。 - Sean Lange
2
当然可以,但是如果我们有这个工具可以让我们的工作更容易,为什么不利用呢?我已经使用可视化设计工具工作了一年,自从他们更新到新版本以来,我就没有遇到过这些错误。可视化设计可以减少我的数据库设计时间,这就是我使用它的原因。 - Ivan-San
我避免使用可视化设计师的主要原因是它创建的约束和外键具有无用的名称,这使得数据库维护比必要的更加痛苦。至于为什么你会收到那个错误,我不知道。 - Sean Lange
好的,设计师有很多机会需要我们去探索。我同意你的观点,我们应该学习并能够执行两种类型的建模(视觉设计或T-SQL)。 - Ivan-San
1
我在这里发布了一个解决方法 - Adail Retamal
显示剩余4条评论
2个回答

28
在2020年7月22日,微软发布了SSMS 18.6版本,Bug Fixes列表中的一项是数据库图表
修复了长期存在的数据库图表问题,导致现有图表损坏和SSMS崩溃。如果您使用SSMS 18.0到18.5.1创建或保存了一个包含文本注释的图表,则无法在任何版本的SSMS中打开该图表。通过此修复,SSMS 18.6可以打开和保存由SSMS 17.9.1及之前版本创建的图表。在被SSMS 18.6保存后,SSMS 17.9.1和之前版本也可以打开该图表。请参见SQL Server用户反馈
他们提到了我在原始答案中提到的UserVoice项。 该项获得了1239票,并被标记为已完成,并附有SQL Server程序经理Drew Skwiers-Koballa的blog post链接。博客文章几乎完全相同: 18.6版本是2020年SSMS的第二个重大版本,包括修复数据库图表崩溃等多个高影响力更改。 如果您使用SSMS 18.0至18.5.1创建或保存了包含文本注释的图表,则无法在任何版本的SSMS中打开该图表。通过此修复,SSMS 18.6可以打开和保存由SSMS 17.9.1及之前版本以及其他SSMS 18.6实例创建的图表。在被SSMS 18.6保存后,SSMS 17.9.1及之前版本也将能够打开该图表。 以下是我在SSMS 18.6发布之前写下的原始答案。

微软承认,自18.2版(仍然是18.5.1)以来,SSMS中的数据库图表功能存在问题。您可以使用之前的SSMS版本17.9.1,它支持您使用的SQL Server 2017的所有功能。

事实上,他们在SSMS 18.0中删除了数据库图表功能,然后在18.1中恢复了它因为有人要求,但是它存在问题。

SQL Server Management Studio(SSMS)发布说明的已知问题(18.2)下,有一项内容:

从运行在A机器上的SSMS创建的数据库图无法从B机器上进行修改(这会使SSMS崩溃)。请参见UserVoice获取更多详细信息。

在UserVoice上为修复投票: SSMS 18.1打开数据库图时崩溃

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

我想就这个问题提供最新进展。
不幸的是,处理SSMS使用的这种古老技术相当复杂。因此,我很难找到解决方法。
我会继续努力,但遗憾的是目前还没有解决方案。
-Matteo

5
这似乎值得奖励。 - xr280xr
1
在18.5.1上遇到了相同的问题。 - motevalizadeh
1
用户-Matteo在此帖子https://feedback.azure.com/forums/908035-sql-server/suggestions/37992649-ssms-18-1-crashes-when-opening-a-database-diagram中回答道:“很遗憾,我没有在SSMS 18.5中修复这个问题,您可能已经在发布说明中读到了。我会尽快处理。我感到很糟糕...我知道 :(” - Ivan-San
很难相信这仍然是个问题,但知道文本图表引起了问题还是好的。我已经转向第三方解决方案来处理图表——这太荒谬了。 - Brian MacKay

5

问题已经在18.6版本中得到修复,我今天更新了它并且工作得很好。但要注意,您必须重新创建所有您在18.0到18.5版本中创建的图表。如果您使用18.6重新创建它们,则它们将可以正常打开而不会崩溃。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接