【问题标题】:SSMS crashes when try to modify database diagram (v18.2)尝试修改数据库图表时 SSMS 崩溃 (v18.2)
【发布时间】:2020-01-18 13:53:50
【问题描述】:

当我尝试修改在应用程序重新启动之前创建的数据库图并在尝试访问时崩溃。 仅当我保存图表并关闭应用程序时才会发生这种情况。当我尝试重新打开时,它会抛出一个错误,然后重新启动 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:

【问题讨论】:

  • 我建议如果您使用可视化设计器进行架构更改,您应该学习如何使用 t-sql 来完成。设计师看起来很简单,但它会导致其他问题。其中包括约束名称等没有任何意义的名称。
  • 是的,我可以,但如果我们有这个工具可以让我们的工作更轻松,为什么不利用它。我已经使用视觉设计器工作了 1 年,自从他们更新到新版本后,我还没有收到这个错误。它的视觉设计减少了我的数据库设计时间。这就是我使用它的原因。
  • 我远离可视化设计器的主要原因是因为它创建的约束和外键有一个无用的名称,这使得数据库维护比它需要的要痛苦得多。至于你为什么会收到这个错误我不知道。
  • 好点,设计师有很多机会,我同意你的观点,我们应该能够学习和执行这两种类型的建模。 (视觉设计或 T-SQL)。
  • posted a workaround这个。

标签: sql-server database ssms diagram designer


【解决方案1】:

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

修复了数据库图表长期未解决的问题,导致 现有图表的损坏和 SSMS 崩溃。如果您创建或 使用 SSMS 18.0 到 18.5.1 保存了图表,并且该图表 包含文本注释,您将无法在 任何版本的 SSMS。通过此修复,SSMS 18.6 可以打开并保存 由 SSMS 17.9.1 及更早版本创建的图表。 SSMS 17.9.1 及更早版本 release 也可以在 SSMS 18.6 保存后打开图表。看 SQL Server user feedback.

他们指的是我在原始答案中提到的UserVoice 项目。 该项目获得了 1239 票,现在标记为 Completed,并具有指向 blog post 的链接,作者是 SQL Server 项目经理 Drew Skwiers-Koballa。博文的文字几乎相同:

18.6 版本是 SSMS 在 2020 年的第二个主要版本,并打包 几个高影响的更改,包括修复数据库中的崩溃 图表。

如果您使用 SSMS 18.0 到 18.5.1 创建或保存了图表,并且 该图表包含文本注释,您将无法打开 该图在任何版本的 SSMS 中。通过此修复,SSMS 18.6 可以打开 并保存由 SSMS 17.9.1 及之前版本以及由 其他 SSMS 18.6 实例。 SSMS 17.9.1 和之前的版本也将 SSMS 18.6保存后可以打开图表。

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


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

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

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

在机器 A 上运行的 SSMS 上创建的数据库图不能 从机器 B 修改(它会导致 SSMS 崩溃)。请参阅 UserVoice 更多细节。

投票支持对 UserVoice 的修复: SSMS 18.1 Crashes when Opening a Database Diagram

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

我想提供有关此问题的最新信息/

不幸的是,事实证明处理这个问题非常复杂 SSMS 使用的这项古老技术。这就是为什么它正在 对我来说很难找到解决办法。

我会继续努力,但遗憾的是目前还没有解决办法。

-马特奥

【讨论】:

  • 这似乎值得赏金
  • 在 18.5.1 有同样的问题
  • 用户 -Matteo 在此线程上回答 feedback.azure.com/forums/908035-sql-server/suggestions/… “我很遗憾地通知我没有为 SSMS 18.5 修复此问题,您可能已阅读发行说明。我会尽快解决这个问题。我感觉很糟糕……我知道 :("
  • 不敢相信这仍然是一个问题,但很高兴知道文本图表会导致问题。我已经转向第三方的图表解决方案——这太荒谬了。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多