我在 Azure SQL Server Db 上托管了 2 个数据库。两个非常小的 40Mb 数据库。对它们的访问非常有限。如果我查看我的 DTU,它就像 0 一样,峰值为 5%。
但是,每当我打开任一数据库时SQL management studio 2016
(v13.0.15600.2),速度都非常慢。
让我详细说明一下。
- 与服务器的连接还不错,(18 秒)
- 扩展数据库(10 秒)
- 扩展表(60 张表)(15 秒)
现在是最糟糕的部分。如果我在设计视图或数据库图中编辑表格。
如果我点击Name
或Data Type
任何列。需要 30 - 60 秒,其中一半时间没有响应。每次我左键单击或右键单击一行时都会发生这种情况。
如果我更改了表架构并必须保存它们。这也可能需要很长时间。具体取决于表的大小。
这几乎就像SMS
在 Azure db 上执行某种网络请求需要很长时间一样。
只是一些更多信息。
- Azure Db 托管在西欧,
- 我住在南非,
- 我有 20/20 Mbit/s 光纤互联网连接。
209ms
已开启Ping 至西欧Azure 速度测试- 如果我使用本地托管的标准 SQL 服务器实例,我的速度是 100%
我已经到了无法再操作数据库的地步。它根本无法使用。
答案1
我遇到了同样的问题,并在这篇文章中找到了解决方法:https://social.msdn.microsoft.com/Forums/sqlserver/en-US/8023437c-77e7-4bce-99ae-bfc717079749/slow-ssms-for-sql-azure?forum=ssdsgetstarted
基本上,您必须关闭(而不是最小化)属性窗口。只要属性窗口处于打开状态,SSMS 就会不断向数据库发送相同的两个 sql 命令。
答案2
好的,这是我能想到的唯一解决方案。我知道这不是一个合适的解决方案,但它让我能够工作。
在与您的 SQL Server 相同的区域获取一个廉价的 VM,然后只需远程桌面进入该服务器并在虚拟机上使用 SQL Management Studio。
延迟仍然不是最佳的,但是它比使用本地 SMS 实例要好得多。
答案3
使用任何版本的 SSMS 并连接到 azure sql database.windows.net 时我遇到了同样的问题
解决方案 - 转到选项>>并选择连接属性选项卡...
网络协议:从默认更改为 TCP/IP
网络数据包大小:由 4096 改为 8192
信任服务器证书:已勾选