前言

我们可能经常安装和部署数据库服务器,但是可能突然忘记了某个设置,为后来的运维造成隐患。下面是国外大牛整理的的检查列表。
其实也包含了很多我们平时数据库配置的最佳实践。比如TEMPDB 文件的个数,比如数据库文件,日志文件如何存放,最大内存的设置等等。如果有补充的欢迎留言
 

正文

 
 1. 机架和电缆服务器
      确保每个电源插入不同的电源电路
      果可能,请确保网络电缆已插入不同的网络交换机
  2.SQL Server服务和SQL Server代理服务的使用域帐户。
      在SQL Server 2012安装期间,您将需要知道这些帐户的用户名和密码
      让这些帐户使用永不过期的密码
  3.检查服务器上的主BIOS设置
      启用超线程和turbo-boost(是一种超频技术,提升最多10%的性能)
      电源管理应设置为操作系统控制
      禁用内存测试
  4.在服务器上安装Windows Server 2012 R2 Standard Edition
       使用集成RAID控制器在RAID 1中使用两个内部驱动器
          如有可能,请考虑使用SSD
          如果使用SSD,则不需要对其进行碎片整理
       为C:驱动器创建一个单独的分区
       将Windows页面文件大小更改为16GB,并防止C盘
       将Windows电源计划更改为“高性能”
           在服务器上运行CPU-Z以确认处理器全速运行
       将光盘驱动器的驱动器号更改为Z:
  5.将服务器上的NETBIOS名称更改为所需的服务器永久名称
  6.使用Windows Server 2012 R2自带功能安装.NET 3.51
  7.在服务器上安装Microsoft Update
    这是Windows Update的超集
  8.在服务器上安装所有Microsoft和Windows更新
       这可能需要几轮才能获得所有必需的更新
  9.对C盘进行碎片整理
       使用使用计划任务每周自动对C盘碎片整理
       不允许将新驱动器自动添加到计划中
  10.创建一个具有正确DNS和默认网关信息的静态IP地址
  11.将服务器加入到相应的Windows域
  12.在服务器上激活Windows
  13.在服务器上安装最新版本的Dell OMSA (这个东西我没用过)
  14.下载最新版本的Dell Server Update Utility(SUU)
       将.iso装入SUU,并运行SUU
       这将确保您具有服务器的最新固件和驱动程序
  15.使用Dell OMSA为LUN创建RAID阵列
           创建一个LUN,然后转到逻辑磁盘管理器创建/格式化驱动器
          II。按照下面显示的顺序创建阵列和LUN
        戴尔OMSA中的一般PERC设置
          对RAID 10阵列使用智能镜像
          II。没有预读高速缓存
          III。启用回写缓存
          IV。应启用缓存策略
          v。使用64K分配单元
  16.使用Windows逻辑磁盘管理器创建逻辑磁盘
       使用OMSA创建阵列后,打开磁盘管理器
       您将看到“初始化磁盘”对话框
        确保使用GPT分区样式
17.检查下,保证新的逻辑驱动器在Windows资源管理器中都能够看到
  18.在安装SQL Server 2012之前,把所有需要的逻辑驱动器都创建上
  19.使用CrystalDiskMark测试每个逻辑驱动器的性能
  20.使用SQLIO测试每个逻辑驱动器的性能
  21.在每个驱动器上,创建下面的文件夹
       数据驱动器:SQLData
      日志驱动器:SQLLogs
      TempDB驱动器:TempDB
       备份驱动器:SQLBackups
  22.使用组策略编辑器(GPEDIT.MSC)将这些Windows权限授予SQL Server服务帐户
       执行卷维护任务
       锁定内存页面   
  23.安装SQL Server 2012企业版
       确保没有待处理的重新引导,否则SQL Server 2012将无法安装
       仅安装此实例所需的SQL Server 2012组件
      C。使用混合模式认证
           将sa密码设置为强密码
          II。将自己添加为SQL管理员
          III。添加任何需要成为管理员的其他DBA
       对于SQL Server服务帐户使用域账户
      使用对应的域账户作为SQL Server代理帐户
      F。将SQL Server代理服务设置为自动启动
      G。将默认目录设置为相应的驱动器号和路径
          I.用户数据库目录:P:\ SQLData
          II.用户数据库日志目录:L:\ SQLLogs
          III. Temp DB目录:T:\ TempDB
          IV。 Temp DB日志目录:T:\ TempDB
          v。备份目录:N:\ SQLBackups
  24.安装SQL Server 2012最新 Service Pack 
  25.安装SQL Server 2012 最新的累积更新6
       累积更新可从此位置获得:
           http://support.microsoft.com/kb/2874879/en-us
       安装后手动对C:驱动器进行碎片整理
          如果您使用的是SSD,则不需要这样做
26.更改SQL Server 2012实例级属性
       a. 启用optimize for ad hoc workloads
          这将允许SQL Server在第一次执行时使用较少的内存来存储临时查询计划
       b.设置最大并行度设置为服务器上NUMA节点中的物理核心数
      c.启用默认备份压缩
           这将为所有数据库备份默认使用SQL Server备份压缩
       d.在SQL Server配置管理器中添加跟踪标志3226作为启动选项
           这将阻止在SQL Server错误日志中记录成功的数据库备份消息
      e .在SQL Server配置管理器中添加跟踪标志1118作为启动选项
           这将有助于缓解tempdb中的配置争用
      f. 在实例上启用数据库邮件
           用于SQL Server代理警报和SQL Server代理作业失败时邮件通知
      G。将Max Server Memory设置为适当的非默认值
           值取决于服务器中可用的物理内存量
              它还取决于安装的SQL Server组件
          II。以下是一些示例值:
              1.96GB总RAM:将最大服务器内存设置为87000
              2. 64GB总RAM:将最大服务器内存设置为56000
              3. 32GB总RAM:将最大服务器内存设置为27000
      H。在T:\ TempDB目录中额外再创建三个TempDB数据文件。总共4个tempdb文件(不需要一开始就和CPU个数对齐)
           所有TempDB数据文件的大小应为4096MB
               将自动增长设置为1024MB
           II。 TempDB日志文件应为1024MB
  27.确认您可以从域上的其他计算机ping通 SQL Server计算机
  28.使用SQL Server 2012 Configuration Manager,确认实例启用了TCP / IP
  29.确认您可以使用其他计算机上的SSMS远程连接到SQL Server实例
  30.在实例上创建一个SQL Server操作员
       使用DBAdmin与电子邮件地址dbadmin@yourcompany.com
  31.确认数据库邮件正常运行
       右键单击数据库邮件并发送测试消息
  32.配置SQL Server代理邮件以使用数据库邮件
  33.为以下错误创建SQL Server代理警报:
      a . YourServerName Alert - Sev 19错误:资源中的致命错误
      b. YourServerName Alert - Sev 20错误:当前进程中的致命错误
      C。 YourServerName Alert - Sev 21错误:数据库进程中的致命错误
      d。 YourServerName Alert - Sev 22错误致命错误:表完整性可疑
      e. YourServerName Alert - Sev 23错误:致命错误数据库完整性可疑
      f。 YourServerName Alert - Sev 24错误:致命的硬件错误
      g。 YourServerName Alert - Sev 25错误:致命错误
      h。 YourServerName Alert - Error 825:Read-Retry Required
      i。 YourServerName警报 - 错误832:常量页面已更改
      j.YourServerName警报 - 错误855:检测到不可纠正的硬件内存损坏
      k。 YourServerName警报 - 错误856:SQL Server已检测到硬件内存损坏,但已恢复该页面
  34.这里提供了创建这些SQL Server代理警报的通用脚本:
       确保每个代理警报都有响应来通知DBAdmin操作员
  35.创建一个名为Nightly Free System Cache的SQL Server代理作业,运行此命令:
       DBCC FREESYSTEMCACHE ('SQL Plans');
       每天晚上在凌晨12:00运行
  36.下载最新版本的Ola Hallengren的SQL Server维护解决方案脚本:
       http://ola.hallengren.com/
       连接到实例时打开MaintenanceSolution.sql脚本
           将@BackupDirectory变量修改为N:\ SQLBackups
          II。运行脚本创建十一个新的SQL Server代理作业
          III。对于每个作业,如果作业发生故障,请转到“通知”属性窗口,并将作业通过电子邮件发送给DBAdmin组
          IV。对于每个作业,创建一个运行时间的计划。
          v。这是一个建议的工作时间表:
              CommandLogCleanup星期日上午12:00
              2. DatabaseBackup - SYSTEM_DATABASES - 完整的每日11:55 PM
              3. DatabaseBackup - USER_DATABASES - DIFF Daily at 12:00 PM
              4. DatabaseBackup - USER_DATABASES - 上午12:00时全天
              5. DatabaseBackup - USER_DATABASES - 每小时记录一次
              DatabaseIntegrityCheck - SYSTEM_DATABASES星期六上午7:55
              7. DatabaseIntegrityCheck - USER_DATABASES星期六上午8:00
              8. IndexOptimize - USER_DATABASES星期日下午8:00
              9. 文件清理 星期日上午12:00
              10.sp_delete_backuphistory星期日上午12:00
              11.sp_purge_jobhistory 星期日上午12:00。
 

总结

对于个人认为比较重要的最佳实践我都用红色的标注了。不过上面的

关于启用超线程和turbo-boost 

我觉得要根据客户的实际情况,如果 客户的系统能够用上这些多余的逻辑CPU,那么才应该开启超线程。根据经验通常OLTP系统开启超线程是比较有好处的。但对于某些报表查询,可能开启超线程反而会有不良影响。

详细可以参考:https://blogs.msdn.microsoft.com/slavao/2005/11/12/be-aware-to-hyper-or-not-to-hyper/

关于tempdb文件个数

我们知道增加tempdb数据文件可以减少PAGELATCH争用 ,按照以前的最佳实践是和CPU内核数对齐。但是现在已经做了优化,不需要一来就设置那么多

关于其他选项没什么争议。应该尽量遵守的。

数据库服务器构建和部署列表(For SQL Server 2012)的更多相关文章

  1. SQLSERVER 免费对比数据库结构和数据的工具支持:SQL Server 2012, SQL Server 2008 and SQL Server 2005

    New xSQL Schema Compare - version 5 Compare the schemas of two SQL Server databases, review differen ...

  2. Microsoft SQL server 2012数据库学习总结(一)

    一.Microsoft SQL Server2012简介 1.基本概要 Microsoft SQL Server 2012是微软发布的新一代数据平台产品,全面支持云技术与平台,并且能够快速构建相应的解 ...

  3. SQL SERVER 2012 从Enterprise Evaluation Edtion 升级到 Standard Edtion SP1

    案例背景:公司从意大利购买了一套中控系统,前期我也没有参与其中(包括安装.实施都是第三方),直到最近项目负责人告诉我:前期谈判以为是数据库的License费用包含在合同中,现在经过确认SQL Serv ...

  4. 系统升级日记(1)- 升级到SQL Server 2012

    最近一段时间在公司忙于将各类系统进行升级,其最主要的目标有两个,一个是将TFS2010升级到TFS2013,另外一个是将SharePoint 2010升级到SharePoint 2013.本记录旨在记 ...

  5. SQL Server 2012 Express LocalDB

    微软最新推出的 SQL Server 2012 Express LocalDB 是一种 SQL Server Express 的运行模式,特别适合用在开发环境使用,也内置在 Visual Studio ...

  6. SQL Server 2012 Express LocalDB 的作用

    微软最新推出的 SQL Server 2012 Express LocalDB 是一种 SQL Server Express 的运行模式,特别适合用在开发环境使用,也内置在 Visual Studio ...

  7. SQL Server 2012 连接到数据库引擎

    第 1 课:连接到数据库引擎 https://msdn.microsoft.com/zh-cn/library/ms345332(v=sql.110).aspx   本课将介绍主要的工具以及如何连接并 ...

  8. SQL SERVER 2012 AlwaysOn– 数据库层面 02

    搭建 AlwaysOn 是件非常繁琐的工作,需要从两方面考虑,操作系统层面和数据库层面,AlwaysOn 非常依赖于操作系统,域控,群集,节点等概念: DBA 不但要熟悉数据库也要熟悉操作系统的一些概 ...

  9. 服务器文档下载zip格式 SQL Server SQL分页查询 C#过滤html标签 EF 延时加载与死锁 在JS方法中返回多个值的三种方法(转载) IEnumerable,ICollection,IList接口问题 不吹不擂,你想要的Python面试都在这里了【315+道题】 基于mvc三层架构和ajax技术实现最简单的文件上传 事件管理

    服务器文档下载zip格式   刚好这次项目中遇到了这个东西,就来弄一下,挺简单的,但是前台调用的时候弄错了,浪费了大半天的时间,本人也是菜鸟一枚.开始吧.(MVC的) @using Rattan.Co ...

随机推荐

  1. 【渗透课程】前言-揭开Web渗透与安全的面纱(必看)

    服务器是怎么被入侵的 攻击者想要对一台计算机渗透必须具备以下条件: 1.服务器与客户端能够正常通讯 (服务器是为客户端提供服务的) 2.服务器向客户端提供的权限(服务)或者说是端口. 服务端所提供的服 ...

  2. java异常—检查异常(checked exception)和未检查异常(unchecked exception)

    网易面试要我画异常的结构图,什么是检查异常,什么是非检查异常,我当时的表情是这样的,.我看过,忘了.没办法,继续看,写博客掌握. 先来看看异常的结构图,建议你结合JDK一起看. 可以看出异常的家族势力 ...

  3. 一位资深程序员大牛给予Java提升技术的学习路线建议

    15套java架构师.集群.高可用.高可扩 展.高性能.高并发.性能优化.Spring boot.Redis.ActiveMQ.Nginx.Mycat.Netty.Jvm大型分布 式项目实战视频教程 ...

  4. java内存区域分析及java对象的创建

    java虚拟机在执行java程序的过程中会将它管理的内存区域加分为若干个的不同的数据区域. 主要包括以下几个运行时数据区域,这里就只介绍经常会用到的 1:java虚拟机栈:我们常说的堆栈,栈就是指的j ...

  5. 创建WIFI热点--附近的百度帐号

    前提准备: 前提是当前的网卡必须支持AP(Acess Point)模式, 也可以使用外接的usb网卡 nodeJS环境 安装create_AP 使用create_AP创建热点, 安装方式为: git ...

  6. 【2017集美大学1412软工实践_助教博客】个人作业3——个人总结(Alpha阶段)

    题目 个人作业3--个人总结(Aplha阶段) 成绩公示 评分项 alpha过程的总结 5个问题 自我评价表 评论区互动 总分 分值 4 2.5 2.5 1 10 201221123032 1 1 2 ...

  7. 201521123082《Java程序设计》第4周学习总结

    201521123082<Java程序设计>第4周总结 标签(空格分隔): java 1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内 ...

  8. 201521123065《java程序设计》第9周学习总结

    1. 本周学习总结 2. 书面作业 本次PTA作业题集异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己以前编写的代码中经常出现什么异常.需要捕获吗(为什么)?应如何避免? 出现的异 ...

  9. 201521123080《Java程序设计》第12周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 流(Stream): Stream是从起源(source)到接收(sink)的有序数据 按照流向分可以分为输入 ...

  10. 201521123066 《Java程序设计》第十四周学习总结

    1. 本周学习总结 2. 书面作业 1. MySQL数据库基本操作 建立数据库,将自己的姓名.学号作为一条记录插入.(截图,需出现自己的学号.姓名) 在自己建立的数据库上执行常见SQL语句(截图) - ...