SQL server 2014 安装
一、规划并成功的完成SQLSERVER 2014的安装
1、规划系统
安装SQL server 前,第一步应该是合理的规划。以下是规划时的任务和要点:
① 当前工作负载的基准
② 估计工作负载的增长情况
③ 最低硬件和软件的需求
④ 合适的存储系统大小和I/O需求
⑤ SQLSERVER 版本
⑥ sql server 排序规则、文件位置、和tempdb大小
⑦ 服务账户选择
⑧ 数据库维护和备份计划
⑨ 最小联机时间和响应时间服务等级
⑩ 灾难恢复策略
1.1 硬件选择
参考官网:https://msdn.microsoft.com/zh-cn/library/windows/apps/ms143506(v=sql.120).aspx
①、处理器
处理器能力表现在处理器的时钟速度高、数量多。几个稍慢的处理器的性能表现要比单个快速的处理器好。新的处理器模型在一个物理插槽可以提供多个核心(多核处理器),多核处理器允许在同一个物理服务器内以命名实例或者虚拟机的形式运行sqlserver2014的多个实例。优势包括可以节省空间和电量消耗。
sqlserver 2012采用基于核心的许可,沿用到2014。
② 内存
内存是让数据库服务实现最佳性能的重要资源。良好的系统设计应该是会尽可能的从内存缓冲区中的数据页中读取数据,从而合理利用内存。
在决定需要多少内存时,一个不错的起点是:考虑sqlserver实例中托管的每个数据库的数据页数,以及查询执行统计信息,例如典型的工作负载使用的最小、最大和平均内存。目标应该是让sqlserver把尽可能多的数据页保存在缓存中,将尽可能多的执行计划保存在内存中,以避免从磁盘读取数据页以及编译执行计划,这些都是很高的开销。
另外需要知道的是具体SQL server 版本对内存的限制。SQL server 2014企业版支持2TB RAM,标准版和BI支持128G的RAM,Express支持1GB的RAM。
SQL server 2014引入一个新功能——内置的内存联机事务处理(OLTP)。只限制在企业版中使用。现在数据可以完全保存在内存中,从而降低了访问磁盘带来的I/O开销。
③ 存储系统
数据库在规划存储系统的时候,要考虑自己对可用性、可靠性、吞吐量和可扩展性的需求。
为了测试和验证存储系统的性能,需要收集一些重要的指标信息。例如每秒最大的I/O请求数(IOPS)、吞吐量(MBps)和I/O延迟。
美妙请求数(IOPS):存储系统在一秒钟可以处理的并发请求数。这个数值越搞越好,对于单个15K RPM的SAS驱动器,通常应为150~250IOPS;对于企业SSD和SAN,通常应为1000~100 0000IOPS。
吞吐量(MBps):存储系统在1秒钟内可以读写的数据大小。数值越高越好。
I/O延迟(ms):I/O操作之间的时间延迟。这个值最好为0或者接近0.
可以通过一些免费的工具来收集这些指标。例如SQLIO,SQLIOSim,IOMeter和CrystallDiskMark。详见文档:https://msdn.microsoft.com/en-us/library/cc966412.aspx
SQL server安装主要采用DAS和SAN两种存储系统。
直连式存储(Direct Attached Storage,DAS)
这类存储系统中,磁盘驱动器位于服务器机箱内,直接连接到磁盘控制器。它们也可以位于外部,通过缆线直接连接到主机总线适配器(HOST Bus Adapter,HBA)上。并不需要额外的设备,例如交换机。
DAS的主要优势在于易于实施且维护成本低,主要缺点在于扩展性有限。虽然近年来,DAS系统开始具有一些原本SAN才有的功能,但是一些局限性依然是存在的,例如可以扩展到和管理的磁盘驱动器数和卷大小,可以连接到的服务器数,以及存储单位和服务器之间的距离。
服务器链接和和距离是DAS和SAN最大区别。DAS通常要求存储单位于服务器之间存在直接的物理连接,这就限制了可以同时连接到的服务器数,以及存储单位和服务器之间的距离(通常只有几英尺)。
存储区域网络(Storage Area Network,SAN)
这是一种专用的网络,将作为直连式存储提供给服务器使用的存储设备相互连接起来。该存储设备网络的连接方式有2种:通过称为fabric交换机的告诉专用光纤通道(Fibre Channel,FC),或者通过使用常规的以太网交换机的iSCSI协议。
SAN主要优势之一是通过使用专用的广域网(WAN)和TCP/IP路由,可以跨越大片地理区域。这就允许在灾难恢复时,相隔遥远的数据中心之间复制数据,以及其他一些功能。
SAN为关键任务数据系统提供了高可靠性和可扩展性。
和DAS相比,合理架构的SAN可以提供好得多的吞吐量,并且可以降低I/O延迟,处理更多的磁盘阵列。主要缺点在于成本更高,并且实现和维护的难度更大。
选择合适的存储系统
一个关键的因素是存储系统中使用的磁盘技术,以及这些磁盘驱动器是如何排列在一起的。DAS和SAN都是用磁盘驱动器的阵列,并且通常把他们配置为存储池从而把它们作为单个实体提供给服务器使用。
磁盘驱动器
为了满足较大的吞吐量需求,经常需要把读写操作分散到大量转速快的磁盘驱动器上。
分散IO操作意味着群组到一起的每个磁盘驱动器上存储少量的数据。这种分布式存储中,没有那个磁盘驱动器包含完整的数据。因此,一次磁盘失败意味着全部的数据都会丢失!一定要考虑可靠性,可以采用一种称为数据阵列或RAID的特殊方法来组织磁盘,以同时满足吞吐量和可靠性需求。下表是SQL server环境中常用的磁盘RAID级别。
RAID级别 | 描述 |
RAID 0 | 也称为条带集或条带卷。将两个或更多个磁盘合在一起,形成单个较大的卷。不能容错,读写快速 |
RAID 1 | 也称为镜像驱动器。将相同的数据写到两个驱动器中。即使其中一个磁盘失败,也不会丢失数据。写操作较慢。只能使用原始存储空间的一半。 |
RAID 1+0 | 也称为RAID 10.条带集中的镜像集。写操作性能良好,能够容错。只能使用原始存储空间的一半。 |
RAID 0+1 | 镜像集中的条带集。容错性比RAID 10稍差。写操作性能良好。 |
RAID 5 | 能够容忍其中一个磁盘失败。写操作被分布到各个磁盘。读操作较快,写操作较慢。部分原始存储空间将无法使用。 |
RAID 6 |
能够容忍两个磁盘失败。读操作较快,写操作比RAID 5 更慢,因为奇偶校验计算增加了开销。部分原始存储空间将无法使用 |
二、完成安装后必须进行的配置
1、内存
最小服务器内存,是指分配后,SQL Server不会返回给操作系统的内存量。但是,SQL Server并不是在立即启动之后立马分配最小内存,实际上,只有在收到请求时,SQL Server才会分配内存,这个内存可以是大于也可以是小于最下内存值。一方面,应该避免向操作系统释放太多内存,这会导致SQL实例缺少足够内存,另外一方面,最大服务器内存不应该等于或者大于总的服务器可用内存,一般来说,应该比总的服务器内存少于4GB。
2、网络数据包大小
SQL Server默认网络数据包大小是4096字节。把此值设置大点可以改进需要执行大量批操作和传输数据的性能。如果服务器硬件和网络基础支持并启用Jumbo Frames,那么最好把网络数据包大小增加为8192字节。
查看和启用Jumbo Frames(有些服务器叫Jumbo Mtu 或者巨帧):
查看和修改网络数据包大小:
3、即时文件初始化
每当数据库文件被创建或者需要增长时,操作系统都会用0填充数据库文件,然后新的空间才可以被写入。在填充0之前,所有的写操作都会被阻塞!为了避免此类阻塞和等待,可以启用即时文件初始化。有两种途径:1,将SQLServer的服务账户添加到服务器上用户权限管理下的执行大量维护任务策略(有时也叫执行卷维护任务)的用户列表中去;2、或者将具有执行大量维护任务权限的用户(一般是administrator)作为SQL Server的服务账户:
赋予SQL Server服务账户维护大量任务的权限,运行框输入secpol.msc,回车打开‘本地安全策略’:
更改SQL Server的服务账户方法,打开服务目录:
4、tempdb和用户数据库
tempdb部分用途如下:
- 用触发器批量加载
- 公共表表达式
- DBCC操作
- 事件通知
- 索引重建,包括SORT_IN_TEMPDB、分区索引排序以及联机索引操作
- 大型对象类型变量和参数
- 多活动结果集操作
- 查询通知
- 行版本控制
- 表变量
- 排序操作
- 溢出操作
可知,tempdb需要特别考虑和计划。对于大量使用tempdb的环境,创建额外的tempdb文件可以显著提升性能。根据负载,可以考虑创建于每个逻辑CPU成正比的大量tempdb文件,是SQL Server计划程序工作线程可以松散对其到某个文件。一般来说,可接受的tempdb文件和逻辑CPU的比率在1:2和1:4之间。
tempdb位置十分重要,tempdb文件应该与数据库文件和日志文件分隔开,以避免出现IO争用。如果使用到了多个tempdb文件,可以考虑将每个tempdb文件隔离到自己的LUN和物理磁盘上(关于LUN,以后会详述)。此外考虑将tempdb的初始大小设为一个合适的值,默认大小的话可能会导致昂贵的文件增长。这里提供一个不算精确的估计tempdb初始大小的方法:工作负载中的查询计划中的查询操作符报告的行数和行大小用来估计操作符所需要的空间,实际或估计的行数乘以估计行大小,用于计算所需空间。当然,只有经验和测试才是最好的保证。
用户数据库初始大小应该足以处理在足够长的时间内预计发生的事务量,避免频繁的增加数据库大小。如果启用了自动增长功能,应该选择足够大的文件大小增量,避免频繁进行自动增长操作。
5、SA账户
应该为SA账户设置强密码,并且从不使用该密码。然后禁用SA账户
6、TCP/IP端口
SQL SERVER 默认使用1433端口来通信;而命名实例则在服务启动时被动态分配端口。有时候,为了安全起见,需要修改默认端口。可以通过‘SQLServer配置管理器’来实现:
7、服务补丁和更新
在生产实例中不要启动自动更新,在吧更新运用到生产实例之前,应该在受控的测试环境中测试所有的更新
8、备份
必须要为系统和用户数据库定义备份计划和备份的存储位置。如果使用了加密,还要备份加密秘钥。
- 总是应该在共享网络驱动器或备份设备集上创建备份文件,而不应该在备份的服务器上进行备份。
- 应该以完全或者增量方式备份
- 此外还需要定义备份保持策略以避免存储不必要的历史备份
SQL server 2014 安装的更多相关文章
- SQL SERVER 2014 安装图解(含 SQL SERVER 2014 安装程序共享)
开篇介绍 2015年1月1日,新的一年开始之际,本来应该好好做点有意义的事情来跨个年的.结果,老习惯 - 睡觉之前一定要折腾一下电脑,说干就干,给新到的 DELL 电脑装虚机,下载 SQL SERVE ...
- 转:SQL SERVER 2014 安装图解(含 SQL SERVER 2014 安装程序共享)
开篇介绍 2015年1月1日,新的一年开始之际,本来应该好好做点有意义的事情来跨个年的.结果,老习惯 - 睡觉之前一定要折腾一下电脑,说干就干,给新到的 DELL 电脑装虚机,下载 SQL SERVE ...
- SQL Server 2014 安装说明
SQL Server 2014 安装说明 本节内容将说明如何通过安装向导在 Windows Server 2012 R2 上安装 SQL Server 2014. 先从 MSDN 网站上下载安装了 S ...
- SQL Server 2014 安装图解
服务器:Windows server 2012 R2 SQL:SQL Server 2014 Step 1 安装前 双击 Setup.exe 安装文件 选择第一项:New SQL Server sta ...
- SQL server 2014安装以及解决连接数据库失败问题
安装教程:http://jingyan.baidu.com/article/3a2f7c2e653d5926afd61197.html 安装好之后打开SQL server 2014 Managemen ...
- SQL Server 2014 安装小记
一.写在前面 由于想体验下微软的Windows Azure在SQL Server数据库方面的使用,笔者花了点时间安装了一下SQL Server 2014,安装很简单,基本就是稍微做些配置即可,笔者在此 ...
- SQL Server 2014安装(windows10)
SQL Server 2014下载地址: 链接:https://pan.baidu.com/s/19_FAhoQxnxkTO_9e-e7weA 提取码:rid7
- sql server 2014安装后用sa登录问题
在使用的sql server的数据的情况下,安装数据过程,未指定使用sa的登录,只能使用windows的账户登录,那要怎么设置账户来使用sa账户登录账号呢? 首先先打开的是sql server man ...
- Windows 10 安装 Sql Server 2014 反复提示需要安装 .NET Framework 3.5 SP1 的解决方案
一.首先安装.NET Framework 3.5: 离线安装方式: 1.装载相对应的系统安装盘,我是Windows 10 x64 企业版,所以装载Windows 10 x64 企业版安装镜像ISO,盘 ...
随机推荐
- 小白的springboot之路(八)、继承Redis以及@Cacheable注解实现Redis缓存
0.前言 在项目中,缓存作为一种高效的提升性能的手段,几乎必不可少,Redis作为其中的佼佼者被广泛应用: 一.spring boot集成Redis 1.添加依赖 <dependency> ...
- 【读一本书】《昇腾AI处理器架构与编程》--神经网络基础知识(2)
1 卷积神经网络:输入层 之前提到多层感知机的参数太多,导致训练耗时长并且对图像处理也不具有优势,因此大神们 就提出了多层神经网络,其中最经典的是卷积神经网络(Convolution Neural N ...
- linux下docker安装部署项目(全)
一 .系统安装 基于CentOS-7-x86_64-Minimal-1708.iso安装系统 1.2. 配置系统 1.2.1 在线更新内核版本(建议更新,旧版内核会有docker BUG) 1.2 ...
- 初始CSS3 实例
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8" ...
- 【FastJson】使用学习
FastJson使用学习 1.json转object.object转json List<CompanyLoopPicture> list = new ArrayList<Compan ...
- CSS动态表达式
样式:style:expression(脚本) 如: 1 _top: expression(this.offsetHeight); _top: expression(eval(document.doc ...
- autocad 二次开发 最小包围圆算法
autocad 二次开发 最小包围圆算法 主要实现了在模型空间下的得到一个包围所有图元的最小圆,该算法的思路是这样:1.从点集中随机选出两个点作为直径对圆进行初始化.2.判断下一个点p是否在圆中,如果 ...
- 【ES6】函数的扩展
1.函数参数默认值[详情例子参照ESMAScript 6入门 (阮一峰)] 允许为函数的参数设置默认值,即直接写在参数定义的后面.[例子1] 参数变量是默认声明的,所以不能用let或const再次声明 ...
- 在MySQL中group by 是什么意思
mysql语法中group by是什么意思? 在百度中搜索半天,最后找到一篇解释比较好的(不是博文,是百度知道,很郁闷那么多网友怎么就没人解释的清楚),链接如下: http://zhidao.baid ...
- 【玩转SpringBoot】让错误处理重新由web服务器接管
其实web服务器是会处理错误的 在web.xml还是随处可见的年代时(确实有点老黄历了),下面的这些配置应该都不陌生. 根据错误代码处理错误,如下图01: 根据异常类型处理错误,如下图02: 不过我们 ...