2

我在一台不错的机器上运行 Sql Server Management Studio 2008。即使它是唯一打开且与数据库没有其他连接的东西,与数据库图或设计器中的简单模式更改有关的任何事情都需要长达 10 分钟才能完成,并且 SQL Management Studio 在此期间没有响应。相同的SQL 代码只需不到一秒钟的时间。这完全违背了设计者和绘图者的目的。

------------------
系统信息
------------------
   操作系统:Windows Vista™ Ultimate (6.0, Build 6001) Service Pack 1 (6001.vistasp1_gdr.080917-1612)
          处理器:Intel(R) Core(TM)2 Quad CPU Q6700 @ 2.66GHz(4 个 CPU),~2.7GHz
             内存:6142MB RAM

请告诉我这不是 WOW64 问题;如果是的话,我喜欢 MS,但要加强对开发工具的 64 位支持。

我能做些什么来让性能接近可接受的水平吗?

编辑:我已经安装了 10.0.1600.22 版本的 SQL Server Management Studio。这不是最新版本吗?我确定我是从 MSDN CD 安装的,而且这些天我非常依赖 Windows Update。有什么地方可以让我快速查看此类工具的最新版本号是多少?

编辑:每次我打开数据库图表时,我都会收到消息“此数据库没有使用数据库图表所需的一个或多个支持对象。你想创建它们吗?” 我每次都说是的。这是问题的一部分吗?此外,如果我按下复制图标,我会收到消息“当前线程必须设置为单线程单元 (STA) 模式,然后才能进行 OLE 调用。” 数据库损坏?

4

6 回答 6

2

我在类似的环境中运行并且没有这个问题。

与任何性能问题一样,您必须对其进行一些分析 - 只是说“需要 10 分钟”并没有说明需要这么长时间的原因,因此没有任何信息可以用来解决问题。


这里有一些可以玩的工具。我最初会提到它们,但“玩耍”是我学会与它们做的所有事情。我建议您尝试了解一下它们,但我还没有这样做。http://technet.microsoft.com是关于性能问题的一个很好的来源。

从任务管理器开始,信不信由你。它在 Vista 和 Server 2008 中得到了增强,现在有了更好的性能选项卡和服务选项卡。请务必单击“显示所有用户的进程”,否则您会错过服务所做的令人讨厌的事情。

性能选项卡的底部有一个“资源监视器”按钮。单击它,观看它,了解它可以为您做什么。

资源监视器实际上是管理工具中更大的“可靠性和性能监视器”工具的一部分。尝试一下。它甚至包括新版本的 perfmon,当您更好地了解要查看的计数器时,它会更加有用。

我还将推荐 Sysinternals 的 Process Explorer 和 Process Monitor 工具。请参阅http://technet.microsoft.com/en-us/sysinternals/default.aspx

于 2009-03-11T22:19:47.430 回答
1

您的简单架构更改是否可能意味着您正在重新排序表的列?

在这种情况下,SQL Management Studio 在幕后所做的就是创建一个新表,将旧表中的所有数据移动到新创建的表中,然后删除旧表。

因此,如果您对包含大量数据、大量索引或两者兼有的表中的列进行重新排序,您可能会在没有真正意识到的情况下进行大量“重组”工作。

马克

于 2009-03-12T11:31:26.623 回答
1

您可以尝试将您的 SQL Management Studio 连接到不同的 SQL Server 实例,或者更好的是,连接到远程计算机上的实例(并尝试进行类似的更改)吗?

系统或应用程序事件日志(或 SQL 日志)中是否有任何条目?您是否尝试过在您的计算机上卸载并重新安装 SQL Server?您正在运行什么版本的 SQL Server(数据库)?

最后,你能成功打开活动监视器吗?右键单击服务器(机器名称) - 在对象资源管理器窗口中的三个顶部 - 然后单击“活动监视器”。

您的机器上的其他软件有问题还是只有 SQL Server 和 Management Studio 有问题?

于 2009-03-12T22:33:50.467 回答
0

当您打开 SSMS 时,它会尝试通过 Microsoft 验证自己。您可以通过执行以下链接中的第二个建议来加快此过程。

http://www.sql-server-performance.com/faq/sql_server_management_studio_load_time_p1.aspx

另外,您是否使用注册服务器功能?如果是这样,SSMS 将尝试验证所有这些。

于 2009-03-12T19:09:02.847 回答
0

好像是网络配置问题。永远不要相信开发人员(我自己)在他的办公室设置一个随意的域。

我的计算机上的 DNS 服务器指向我的 ISP(默认是因为我们使用的 ISP 提供的无线路由器不允许我将 DNS 服务器覆盖为我自己的)而不是我的 DNS 服务器,所以我有记住在每台计算机上手动配置它,我忘记了这台特定的计算机。

当我第一次尝试从这台 PC 连接到远程 SQL Server 实例时,我才发现它。它试图解析到 mycompany.com 的实际子域,而不是我的 DNS 服务器的 COMPUTERNAME.corp.mycompany.com 权限

我不能说为什么这对 SQL Server 中的设计人员来说是个问题,但不是其他任何问题,但我唯一的假设是,当我使用计算机名称而不是“。”在本地建立到我自己的计算机的连接时。或“localhost”,SQL 查询立即执行,知道它是本地的,但设计人员在尝试本地 IP 地址之前仍然等待外部 IP 地址的超时。

不管解释是什么,将本地机器上的网卡的 DNS 服务器更改为我的 DNS 服务器的 IP,这一切都非常迅速。

于 2009-03-13T23:29:00.077 回答
0

我的也有类似的问题。原来是对我笔记本电脑上运行的生物识别登录服务的一些干扰。禁用该服务,现在它可以工作了。

于 2010-12-27T18:12:29.110 回答