采购SQL Server硬件时最容易犯的8个错误

建立全新的SQL Server系统可能比较棘手。SQL Server是真正注重利用硬件的产品,它的性能跟你如何配置服务器有很大的关系,尤其是如何配置你服务器的存储子系统。考虑到这一点,我们在下面列出了一些人们在采购SQL Server硬件时最容易犯的错误:

1、选择DIY路线。不要购买零部件自己组装SQL Server计算机,除非你只是用于非生产环境的开发计算机。通常情况下,服务器尤其是SQL Server用的计算机需要处理器,芯片组,内存控制器卡等等零部件匹配性非常好。例如,你需要能支持高热的组件,它们必须从设计起就是考虑协同工作的。这并不是说构建自己的服务器是不可能的,但是买一台全集成的一体机会更容易一些,而且会有制造商售后支持。

2、没有性能预期。你不能简简单单地建立SQL Server系统,除非你知道它将承担什么样的负载。当然,你可以这么做,但是你将面临性能不足或性能过度冗余的问题,这两种情况都造成了一定资金浪费。如果你遇到的是性能不足的情况,你在将来某个时候一定需要提升服务器的处理能力,也就是说你必须再花钱进行升级(这与你的初始配置有关,升级甚至可能是行不通的)。如果你遇到的是性能过度冗余的情况,你实际上花了比你需要甚至预计需要支出的更多的钱。使用现存数据库,应用程序或者甚至供应商的基准,来获得一些性能预期,了解你期望每秒钟需要处理多少事务,并了解相应的硬件容量大小。

3、购买磁盘时只考虑容量,而不考虑磁盘性能。是的,SQL Server通常需要大量的磁盘空间。但是,如果磁盘处理技术不够快,所有的磁盘空间都是没用的。把若干驱动器配置成RAID5阵列可能会满足你的空间和冗余需求,但是如果该阵列不能以一定的速度移动数据,它将成为你系统的主要性能瓶颈。如果你买不起你所需容量的快速磁盘,那你就满足不了SQL Server的需要。

理想情况下,数据库文件和事务日志应该放置在不同的磁盘上(或不同的阵列上),SQL Server应该通过不同的通道访问它们,比如磁盘控制器卡或者存储区域网络(SAN)连接。临时系统数据库如果使用频率较高,可能也需要自己独立的磁盘或阵列。

4、选择了错误的RAID方案。RAID 5方案在写数据时会比较慢。大部分RAID控制器都尝试通过在控制器内存中缓存数据来克服这一问题(控制器内存为安全考虑通常有电池备份),但是繁忙的SQL Server数据库可能会占满该缓存空间,并达到瓶颈。RAID 10是可选的方案呢。它比RAID 5成本更高,但是它用数据条带连接了磁盘镜像,它能提供更高冗余和更快的读写速度。

5、购买的驱动器太少。如果你需要XGB或者XTB的存储空间,你会希望它能提供尽可能多的物理磁盘,这样能获得最快的吞吐速度。那是因为,拥有的磁盘数量越多(不管是小容量的还是大容量的),比拥有少数大容量磁盘的性能会更好。对于条带式的阵列方案(RAID 5和RAID 10都支持),每多一块磁盘都会给SQL Server的性能提供一定贡献。例如,如果你可以选择购买5快1TB的硬盘或者20块250GB的硬盘,20块250GB的硬盘性能(假定这些磁盘都被配置为条带式阵列,驱动器都具备相同的速度和传输率)一定会超过5块1TB硬盘的性能。

6、利用没有电池的磁盘控制器。如果你依赖磁盘控制器来缓冲写指令(例如,RAID 5阵列),要确保主板上有电池。要经常有计划地监视服务器电源自检测(有检测通知)屏幕,确保那些电池(通常是手表用的锂电池)持续有电。

7、盲目信任SAN。SAN并不是在所有情况下都是完美的选择。你必须确保有足够的吞吐量,SQL Server不会与那么多其他服务器和应用程序共用资源,竞争带宽和吞吐量。SQL Server需要快速存储访问,对大多数SQL Server主机来说,这是最大的性能瓶颈。请确保你知道SAN的配置(例如,要知道是RAID 5还是RAID 10,要记得前面提到的错误),要知道其吞吐量和其它细节,就像你想知道直接附加存储的这些信息一样。

8、选择32位。在32位Windows环境中,SQL Server想利用大于3GB的内存会更困难一些,它必须采用一些页扩展技术,这种技术并不像原始手段直接访问大量内存一样高效。如果你选择了64位的硬件,那就在其上运行64位的操作系统。此外,要注意Windows Server 2008 R2以及Windows的后续版本都只对64位版本可用。

上面的许多错误似乎都与存储有关,SQL Server的存储是人们最容易关注的领域,大家都太多地关注存储容量,而对其它因素(比如:吞吐量)不够重视。尤其是SAN,存储变成了类似“我们的私有云服务”的东西,像空中的一个大魔盒,数据都在其中。

当然,SQL Server的性能也不只是与存储有关,也跟其它因素有关,比如处理器架构和服务器内存容量。要从细节处理问题和分析性能。在为SQL Server购置硬件时要避免犯这些错误,这样才能得到性能更好的主机。

时间: 2024-09-11 00:17:39

采购SQL Server硬件时最容易犯的8个错误的相关文章

在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)

error|server|程序 错误:"在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败. (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) ",       上述错误我遇到两种情况,一种是在打开打开SQL Server 2005时弹出的,另一种是在应用程序连接SQL Server 2005时出现的.归纳了一下,由以下几个原因: 1.数据库引擎没有启动.  

解决Sql Server安装时提示挂起的方法

安装 SQL2000 时,系统经常会提示:操作被挂起,要求重新启动计算机,如图1: 图1 重新启动后,再次安装时问题仍然存在. 解决办法: 1:在开始菜单中点击运行,输入 regedit ,打开注册表. 2:展开HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager 单击FileRenameOperations键,删除右侧界面中出现的PendingFileRenameOperations键值 3:重新安装 SQL S

专家教你优化你的SQL Server硬件性能

优化SQL Server硬件性能 对SQL Server的性能调整有很多种方式,就像建造一所房子.你必须找到一个合适的地点,拥有肥沃的土壤.构建一个结实的地基,支持2到3层的小楼,安装电气和插座,对墙壁刷油漆并进行装饰,最后进行不断的维护. 调整SQL Server的性能也具有类似的项目,其中包括: 硬件 Windows服务器 SQL Server 数据库设计 索引设计 T-SQL 开发 网络基础设施 前端代码 平台维护 虽然在获得高性能方面,没有哪个单个的组件比其他的具有更大的重要性,但是要争

sql server 2005时发生18452错误解决方法

ODBC 测试sql server 2005时发生18452错误解决方法 用.net开发的网站连接数据库里发生错误,当访问静态页面里显示正常. 1.首先想到的是测试ODBC数据源,当用sql用户和密码登录时出现如下图错误: 2.因为是在客户服务器上安装,所以未设置sa的密码,由于安装时未勾选择了"windows身份验证",所以当你测试sql server 2005的用户时出现此错误. 3.打开"SQL Server Management Studio"双击数据库所在

sql-安装SQL server 2008 时老是出现以下错误,该怎么办呢?

问题描述 安装SQL server 2008 时老是出现以下错误,该怎么办呢? 解决方案 看下是不是.net 4.0没有安装好,系统是不是山寨盗版精简过的.建议使用原版. 解决方案二: 系统环境估计不干净,造成安装失败.或者老的sql server没有卸载干净. 解决方案三: 卸载干净后,重新安装,环境搭建有问题

在SQL Server启动时自动执行存储过程。第1/2页_MsSql

sql Server提供了系统存储过程sp_procoption,这个存储过程可以用于当SQL Server服务启动时指派一个或者多个存储过程自动执行.这是一个很不错的选择,它可以用于多种多样的用途.比如,你可能在你的数据库中有开销很大的查询,这个查询在首次执行时会花费一些时间.通过使用sp_procoption,你可以在服务器启动时运行这个查询以此来预先编译执行计划,由此,你的某个用户就不会成为第一个运行这个特殊查询的不幸的人.我曾经用这个功能建立了一个我自己写的概要分析器服务器端跟踪的自动执

如何快速删掉SQL Server登录时登录名下拉列表框中的选项

问题: 我以前创建了一个登录名如kpi,之后在"安全性-登录名" 里删掉了,但是每次登录时,登录名的下拉框中总是能显示登录名kpi,怎么把它删掉呢? 解决方案: 1).SQL Server 2008 R2和SQL Server 2008 先关闭数据库登录窗口,然后删除: %AppData%\Microsoft\Microsoft SQL Server\100\Tools\Shell\下的SqlStudio.bin文件.(直接在资源管理器中粘贴路径)再打开SSMS就看不到了. 2).SQ

在SQL Server启动时自动执行存储过程。第1/2页

sql Server提供了系统存储过程sp_procoption,这个存储过程可以用于当SQL Server服务启动时指派一个或者多个存储过程自动执行.这是一个很不错的选择,它可以用于多种多样的用途.比如,你可能在你的数据库中有开销很大的查询,这个查询在首次执行时会花费一些时间.通过使用sp_procoption,你可以在服务器启动时运行这个查询以此来预先编译执行计划,由此,你的某个用户就不会成为第一个运行这个特殊查询的不幸的人.我曾经用这个功能建立了一个我自己写的概要分析器服务器端跟踪的自动执

如何快速删掉SQL Server登录时登录名下拉列表框中的选项_MsSql

问题: 我以前创建了一个登录名如kpi,之后在"安全性-登录名" 里删掉了,但是每次登录时,登录名的下拉框中总是能显示登录名kpi,怎么把它删掉呢? 解决方案: 1).SQL Server 2008 R2和SQL Server 2008 先关闭数据库登录窗口,然后删除: %AppData%\Microsoft\Microsoft SQL Server\100\Tools\Shell\下的SqlStudio.bin文件.(直接在资源管理器中粘贴路径)再打开SSMS就看不到了. 2).SQ