Dav*_* S. 36 sql-server ssms sql-server-2012
将 SQL Server 和 Management Studio 从 2008 升级到 2012 后,Management Studio 2012 在打开新查询窗口和对话框时非常慢。
即使右键单击表格也很慢。在我开始在窗口内做任何事情之前,通常至少有 5 秒的延迟。每次都会发生这种情况,即使我连续两次打开同一个窗口。为什么会发生这种情况,我该如何解决?
其他应用程序非常快速地建立与数据库的连接。
我尝试过但没有帮助的事情:
hosts文件我的电脑应该足够快了,而且我还有 16GB 内存。我的硬件绝对不应该有问题。看起来 SSMS 正在等待某些东西 - 在发生这种情况时,我可以顺利运行其他程序。
我没有机会安装 SQL Server 2012 CU1 更新,因为安装修补程序似乎存在一些错误风险,我现在不能冒险。
Joh*_* N. 12
当 Microsoft 的 SQL Server Management Studio (SSMS) 启动时,它会尝试连接 Microsoft 的证书吊销列表 (CRL):
http://crl.microsoft.com/pki/crl/products/MicrosoftRootAuthority.crl
SSMS 的底层 .NET 组件正在尝试联系证书吊销列表,但 SSMS 无法这样做。这会减慢整个加载过程。(显然每个证书 15 秒)
好的,这就是正在发生的事情。SSMS 具有很高比例的托管代码,所有这些代码在我们发布时都已签名。启动时(如果选中此设置).Net Runtime 尝试联系 crl.microsoft.com 以确保证书有效(不久前有一些假证书以 Microsoft 的名义发布,因此这是一个非常有效的问题) . 如果没有 Internet 连接或联系证书吊销列表服务器出现问题,则这将延迟 SSMS 启动。
参考:FAQ,为什么SSMS需要45s才能启动?(MSDN 博客)
可能导致此问题的一个问题是,如果服务器无法访问 Internet,则 .NET 框架无法访问 crl.microsoft.com 网站以验证用于对托管应用程序的二进制文件进行签名的数字签名是有效的。在 .NET 运行时实现中,每个证书检查都有 15 秒的超时。根据安装的功能,这可能会为 Management Studio 增加一分钟的启动时间。
参考:SQL Server Management Studio 启动时间(MSDN 博客)
您可以绕过部分问题,通过直接在浏览器中输入链接下载证书,然后将证书导入到您的证书数据库
您可以重新配置您(公司的)防火墙以允许连接到 Microsoft 的 CRL
您可以重新配置您的个人防病毒/防火墙以允许连接到 Microsoft CRL
您可以配置您(公司)的防火墙,以更快地向您的客户端发送请求访问 Microsoft 的 CRL 的超时。
您可以在高级设置中将 IE 配置为不再“检查发布者的证书吊销”。
可能发生了 SSMS 导入了无法再正确处理的设置(例如与某些服务器的连接或某些加载项设置)。
有一种残酷的方法可以“重置”SSMS 的用户定义设置。
关闭 SSMS,转到文件夹:
C:\Users\YOURWINLOGINNAME\AppData\Roaming\Microsoft\SQL Server Management Studio\
Run Code Online (Sandbox Code Playgroud)
您将找到子文件夹“11.0”。将其重命名为“11.0_”,以便您随时可以将其重命名。现在启动 SSMS - 它会重新创建干净的设置,也许你的问题会得到解决。如果不是 - 删除新生成的“11.0”并将“11.0_”重命名回“11.0”。
这也可能是某些加载项的行为,升级后已损坏。插件将自己注册为某些命令或事件的处理程序,如果它们丢失/抛出异常,系统可能会变得不稳定。
实际上,v2012 使用另一种机制来注册加载项,但有些加载项会在所有实例上自行安装。要检查,请查看此注册表项:
[HKEY_CURRENT_USER\Software\Microsoft\SQL Server Management Studio\11.0_Config\AutomationOptions\LookInFolder]
Run Code Online (Sandbox Code Playgroud)
您会在那里找到文件夹列表。检查所有这些文件夹 - 它们必须是空的(意味着您没有加载项)。
当我连接到服务器名称“./”时,我的经历与您相同。幸运的是,我发现当我连接到服务器名称“(本地)”时,我没有遇到性能问题。SSMS 2012 通过“./”解析服务器的方式可能存在问题。
编辑:我认为它与 SSMS 无关,因为我可以在 ADO.NET 连接中使用 ./ 重现缓慢。
小智 1
在我的电脑上速度很快。
SQL Server 2012 中的 SSMS 现在使用 Visual Studio 2010 shell,该 shell 比 SQL Server 2008 中的 SSMS 使用的 shell 更占用资源。我建议升级您的计算机或使用 SQL Server 2008 R2 中的 SSMS。您应该能够使用旧版本执行大多数任务。
您还可以尝试安装最新的累积更新,因为它们也会更新客户端工具。SQL Server 2012 的最新版本目前是 CU1。
http://support.microsoft.com/kb/2679368/
| 归档时间: |
|
| 查看次数: |
52015 次 |
| 最近记录: |