SQL Server 2008 R2 Express 单 CPU 内核使用情况和升级到 SQL Server 2014 Express 的需要

IT *_*her 3 performance sql-server sql-server-express windows-server sql-server-2014

在我们的办公室,我们使用安装在 Windows Server 2012 中的 SQL Server 2008R2 Express。SQL Server 数据库同时被网络中的 60 多个用户访问。最近几天,我们遇到了 SQL Server 和我们使用 SQL Server 的程序的性能下降。

从过去几年开始,我们使用 Windows Server 2003 和 SQL Server 2008 R2 Express。几个月后,我们将服务器更改为 Windows Server 2012。

我可以使用性能计数器等分析 SQL Server 的性能。但在此之前我想知道以下细节

  1. SQL Server 2008 R2 Express 是否有任何限制,例如它只使用一个 CPU 核心?这可能是性能缓慢的原因吗?

  2. 在 Windows Server 2012 上使用旧版本 (SQL Server 2008 R2 Express) 时是否存在兼容性问题?

  3. 是否需要升级到 SQL Server 2014 Express?我会得到什么好处吗?

Rem*_*anu 5

Express 版本有限,请参阅SQL Server 各版本支持的功能

  • 单个实例使用的最大计算容量:限于 1 个插槽或 4 个内核中的较小者
  • 使用的最大内存:1 GB
  • 最大关系数据库大小:10GB

这些限制适用于 2008R2、2012 和 2014 版本,而对于 2005 和 2008,最大数据库大小甚至更小:4GB(CPU 和内存限制相同)。

要解决您的性能问题,我建议您阅读如何分析 SQL Server 性能。如果您发现(可能)您遇到了 Express Edition 的限制,那么您需要升级到付费许可证版本(可能是 Standard)。你会知道你遇到了限制:

  • 如果您看到 CPU 争用,您会SOS_SCHEDULER_YIELD在 otehr 空闲时仅在 4 个内核上看到高等待时间和高 CPU 性能计数器。
  • 1GB 内存利用率的症状,您将PAGEIOLATCH_XX在 OS 计数器上看到高等待时间和高磁盘利用率(低内存触发更多 IO)。

将 Express Edition 从 2008R2 升级到 2012 应该是一件小事,2014 年也是如此。我认为 2014 或 2012 年没有任何可以在 Express Edition 中使用的功能,但选择最新版本的理由始终存在:T- SQL 语言增强,产品支持。见什么在SQL Server 2014年新的有什么新的SQL Server 2012

  • @ITresearcher:“仅限于 1 个 Socket 或 4 个内核中的较少者”意味着它将使用*最多*一个 CPU,如果该 CPU 有多个内核,它将使用*最多*四个内核。对于最多具有四个内核的单个 CPU,它将使用很多。具有四个以上内核的单个 CPU 最多只能使用四个内核。两个双核 CPU 将看到正在使用一个 CPU(因此是两个内核)。两个四核或更多核 CPU 将在一个 CPU 中看到最多四个内核(因此最多四个内核)被使用。我不确定它如何计算通过存在和启用超线程而可用的虚拟内核。 (3认同)