热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

DBA基础系列SQLServer2014:1.SQLServer安装部署(独立部署、非域环境)

目的:随着201441日SQLServer2014的发布,SQLServer性能大幅度提升,使得越来越多使用其他数据库的用户和DBA逐步转向MSSQL,在此给出一篇个人Blog用于回答大家

目的:随着2014/4/1日SQLServer2014的发布,SQLServer性能大幅度提升,使得越来越多使用其他数据库的用户和DBA逐步转向MSSQL,在此给出一篇个人Blog用于回答大家

目的:

随着2014/4/1日SQL Server 2014的发布,SQL Server性能大幅度提升,使得越来越多使用其他数据库的用户和DBA逐步转向MSSQL,在此给出一篇个人Blog用于回答大家对SQL Server部署的疑问以及引导生产DBA进行初期部署(仅个人经验,非Microsoft观点),建议大家在看过以后再对比官方最佳实践和MSDN进行完善

测试环境准备:

软件环境:

操作系统:Windows 2012 Standard Edtion

数据库:SQL Server 2014 Enterprise Edtion X64

硬件环境:

Hyper-V: CPU:4 Logical Core’s; Memory:16GB

P.S. 随着现在硬件高速发展,建议每Core对应4GB或8GB内存会比较理想,数据库是吃内存的大户,别太吝惜这点儿内存,内存不足会导致大量磁盘IO和CPU开销

操作系统安装:

(P.S. 虚拟机中操作系统安装与物理服务器安装类似,如果是物理服务器请先使用对应厂商的引导盘进行驱动安装)

放入系统安装镜像文件,启动服务器开始安装(蓝幽幽的方块图标还是挺漂亮的哈)

image

选择需要安装的语言

image

进入开始准备启动安装向导进行安装设置

image

自己加载无需干预

image

选择带GUI的标准版进行安装(Windows 2012开始没有企业版了,标准版跟数据中心版唯一的区别在于是否需要搭建私有云环境,所以一般数据库服务器选择标准版即可,稍后介绍Core版Windows Server配置,建议有经验的DBA选择Core版Windows Server)

image

接受微软许可(请大家尊重和支持正版软件,谢谢,如果是做实验可以直接在官方网站下载90天评估版即可)

image

选择自定义:仅安装Windows(高级),即便是日后需要升级操作系统也不建议直接在原地进行升级(个人建议),而是重装系统后迁移数据库

image

当前测试环境只有一块256GB磁盘就直接使用了,

如果是生产环境建议:

本地存储做成一个RAID:存储操作系统、虚拟内存文件、数据库软件文件

安装完成系统后外挂至少3个LUN(独立RAID):

LUN1:RAID 10(4块独立磁盘组成):稍后用于存储tempdb

LUN2:RAID 10或RAID 5(建议RAID 10):稍后用于存储数据库数据文件

LUN3:RAID 1 或 RAID 10(2块独立磁盘组成):稍后用于存储数据库日志文件

image

开始安装操作系统,可能会重启多次,不过不需要人为干预,可以先去喝杯咖啡

image

自动重启的过程中操作系统会自己去准备通用硬件驱动,服务器建议还是要安装原厂自己的驱动的

image

安装完成就是这个样子了

首次登录重置Administrator密码,有密码复杂度的,字符数字字母大小写

image

image

再输入一次密码进入Server,至此Windows 2012安装就结束了

image

配置Windows Server环境

image

选择本地服务器选项卡(Windows 2012是可以同时管理多台服务器的,这点值得表扬)

image

做5件事情(修改计算机名、修改IP、关闭防火墙、打开远程连接、重启服务器)

修改计算机名(注意最好别超过8个字符,否则在NETBIOS中会被截断,如果同网段有多台前8字符相同的服务器可能导致NETBIOS无法正确识别)

image

关闭所有防火墙

P.S.数据库服务器应该至于内网的最后端,应该完全禁止任意端口被映射到公网

image

开启远程桌面(当然如果有特殊嗜好喜欢待在机房的兄弟另论,,进一次机房感冒一次的我表示严重不喜欢待在机房)

image

配置IP地址(找网管分配)

P.S. 建议为数据库服务器分配专属的VLAN便于控制安全边界

image

重启吧,骚年,很不习惯这样的菜单,不知道有没有跟我一样的同学

image

重启后添加角色和功能

image

image

image

其实我只想添加功能干嘛搞这么复杂啊… … 开始怀念Windows 2008 R2了,简单明了,快速搞定

image

添加以下功能:

.NET Framework 3.5:SQL Server 安装必须项

Telnet Server:当RDP无法登陆时最后的手段(稍后需要手动启动)

Telnet Client:测试端口的时候用

远程差分压缩:当带宽吃紧的时候,如果有多张网卡可以绑成一张增加最大带宽,如果只有一张那么采用数据差分压缩是非常省带宽的做法

多路径IO:如果服务器上有2张或以上HBA卡,为了增加与存储的吞吐带宽和防止存储网络出现单点故障时需要配置(当前测试环境连1张HBA卡都没有,所以跳过)

image

别直接点击下一步进行安装,否则你一定会失望(.NET Framework 安装文件在安装介质中,没有被集成到Windows,哎… … 搞得跟Linux一样还留点儿东西在安装盘里面… … )

image

挂载Windows Server安装镜像指定镜像文件路径

image

现在可以安装了

image

image

为SQL Server 服务准备Windows 账号,密码永不过期(建议还是要定期去修改一下密码的,生产环境个人比较喜欢直接用随机产生的32位GUID做密码,谁能背下来试试看,哈哈)

image

image

将为SQL Server准备的数据库引擎服务账号加入到允许锁定内存页中,防止外部程序跟SQL服务交换内存导致大量内存碎片

P.S.这也是大家发现SQL Server运行久了,虽然系统还有若干资源可以用但是Windows卡的跟牛一样的原因之一

image

至此Windows基础配置告一段落了,更多配置根据需要再慢慢去改

安装SQL Server 2014

放入SQL Server 2014安装光盘,进入主题

image

选择安装选项卡,选择全新SQL Server 独立安装(Cluster安装稍后再说)

image

image

输入产品密钥

当前测试环境我就选择评估版就好(180天试用),生产环境大家可以选择输入产品密钥

这个功能可了不得,判断你具体使用的是哪个版本(企业版、标准版等)的SQL完全就是直接根据密钥识别的,同时如果日后需要变更版本也不用重装,直接替换序列号就可以实现了

image

同意SQL Server的授权

image

环境自检,如果没有问题会自己跳到下一步

image

询问是否通过Windows Update Center联机获取最新Hotfix或其他补丁,这里我们直接不勾选进入下一步

虽然微软软件更新基本上不会出问题,但是稳妥起见个人不建议自动安装数据库补丁,就算有补丁也是DBA手动自己去安装,如果遇到问题可以通过卸载补丁或回滚补丁来恢复先前状态

image

image

开始自己安装支持文件,无需干预等待即可

image

自动安装完成进入下一步,有个小警告,直接忽略

image

选择SQL Server 功能安装

image

如果不知道以后哪些功能要用就全选安装吧,省事儿,SQL Server就是这里好,不管你用不用只要是数据平台的功能全部都可以直接安装,而且在同一台服务器上就算需要使用也不需要额外付费,赚到了

image

可以使用默认实例,也可以命名实例,这个自己根据需要来,同一台服务器上可以同时运行多个实例

image

填入之前创建的那些服务账号(SQLAnalysis敲错单词了,大家理解就好哈… … )

将SQL代理服务设为自动启动:用于自动运行Job

将SQL Brower服务设为自动启动:别小看这个服务,这东东牛X啊,举例:DAC需要使用,多实例动态端口解析需要使用,分析服务需要使用等等

image

排序规则一般默认即可,它是根据你Windows的区域语言自动选择的,就算你在英文版系统上设置了中国中文规则,在这里依然会是这个

同理如果你在中文版Windows选择了美国英语排序规则则会自动变为拉丁文排序

image

根据业务需要选择仅Windows验证(域或Windows账号均可)或Windows+SQL Server混合验证

同时指定登录Windows的哪些账号可以有SQL Server 管理员权限(集成身份验证)

image

安装分析服务,从SQL Server2012开始加入了表格模型用于Power BI,两种分析模型每次只能安装一个,即每个实例名只能定位一个分析服务,这里我就随意选择了传统的多维分析模型

P.S.两个模型应对的业务场景是不一样的,两种模型是互补的关系不是替代,就像现在谈论的关系数据库和非关系数据库一样,只是互补而不能替代某一方

image

报表服务就默认吧

image

这个重播控制器和客户端是用于进行SQL数据库压力测试的,具体的先不谈,后续再单独拿出来讨论

image

直接留空就好,需要的时候再修改配置文件

image

自动自检,并跳到下一步

image

安装概述,如果需要按照这次的方式安装更多SQL Server服务器可以到下列路径保存配置文件,下次直接通过命令行方式进行安装,而不用再一步一步去慢慢点下一步

image

开始安装,剩下的就是等了

image

安装完成,重启服务器,然后开始初始化配置

image

初始化SQL Server 2014

启动SSMS

image

image

配置内存最大最小值:

最大配置值=总内存 – 2GB,个人习惯先使用80%内存,给以后需要加内存时留点儿采购缓冲时间

最小内存跟最大内存保持一致,在启动SQL Server数据库服务时直接Book住连续内存段

最小查询内存默认1MB,如果存在大量复杂计算的情况建议设置到10MB或100MB,根据实际情况决定,设置过大可能导致每会话分配内存时间过长

image

最大并行度:默认0,会根据Core数才分SQL进行并行计算,

但是如果业务系统是OLTP类型的就建议设置为1,因为大量语句都是简单的单行INSERT、UPDATE、DELETE过多的并行不仅达不到提升性能的目的反而导致性能降低

如果是OLAP数据仓库类型的海量数据处理为主的业务就保持默认即可

image

重启数据库服务应该使用SQL Server配置管理器进行,因为其中包含了若干的启动参数(建议不要直接使用Windows 服务管理器直接对服务进行操作)

image

配置tempdb到前面专属的RAID上,保证最佳的IO性能,使用T-SQL脚本迁移,然后重启服务即可,可以查阅Blog中相关文章

同时将tempdb数据文件从一份增加到8或16个,充分利用多核并行能力,前边提到的并行度是针对于线程纤程而言,与这个关系不大

同时tempdb数据文件给予一个较大初始化值,避免频繁自动扩展

日志文件保持一个就好,并给予一个适当的较大值,避免日志扩展带来的阻塞

image

最后备份Master、Model、MSDB数据库

Master和Model在第一次安装完成后和每次对数据库进行补丁更新和实例级别配置变更的前后进行一次即可

MSDB在加入或变更了Job后进行备份以防不时之需

下一章内容概要:

SQL Server用户数据库初始化配置

希望那个遥远的她一切都好,晚安

不知不觉3点过了,洗洗睡了… … 如果有问题请大家不吝赐教

本文出自 “Fast” 博客,请务必保留此出处

推荐阅读
  • 最新进展:作为最接近官方声明的信息源,本文吸引了大量关注。若需获取最新动态,请访问:lkhill.com/ccie-version-5-update ... [详细]
  • 深入解析轻量级数据库 SQL Server Express LocalDB
    本文详细介绍了 SQL Server Express LocalDB,这是一种轻量级的本地 T-SQL 数据库解决方案,特别适合开发环境使用。文章还探讨了 LocalDB 与其他轻量级数据库的对比,并提供了安装和连接 LocalDB 的步骤。 ... [详细]
  • 本文介绍了Linux内核中TCP的三种接收队列:Prequeue、sk_receive_queue和Backlog。这些队列在数据包处理过程中扮演着重要角色,帮助提高系统性能和效率。 ... [详细]
  • 本文介绍了一个基本的同步Socket程序,演示了如何实现客户端与服务器之间的简单消息传递。此外,文章还概述了Socket的基本工作流程,并计划在未来探讨同步与异步Socket的区别。 ... [详细]
  • 利用Cookie实现用户登录状态的持久化
    本文探讨了如何使用Cookie技术在Web应用中实现用户登录状态的持久化,包括Cookie的基本概念、优势及主要操作方法,并通过一个简单的Java Web项目示例展示了具体实现过程。 ... [详细]
  • 本文探讨了在SharePoint环境中使用BDC(Business Data Catalog)时遇到的问题及其解决策略,包括XML文件导入SSP后的不可见性问题以及与远程SQL Server 2005连接的难题。 ... [详细]
  • LoadRunner中的IP欺骗配置与实践
    为了确保服务器能够有效地区分不同的用户请求,避免多人使用同一IP地址造成的访问限制,可以通过配置IP欺骗来解决这一问题。本文将详细介绍IP欺骗的工作原理及其在LoadRunner中的具体配置步骤。 ... [详细]
  • MySQL 8.0 新特性详解:免费视频教程上线
    本文介绍了一套在慕课网上发布的免费视频教程,深入解析 MySQL 8.0 的核心新功能,包括增强的安全性、用户管理、新的索引类型、CTE 和窗口函数等。 ... [详细]
  • 本文详细介绍了如何使用 Python 编程语言中的 Scapy 库执行 DNS 欺骗攻击,包括必要的软件安装、攻击流程及代码示例。 ... [详细]
  • 解决远程桌面连接时的身份验证错误问题
    本文介绍了如何解决在尝试远程访问服务器时遇到的身份验证错误,特别是当系统提示‘要求的函数不受支持’时的具体解决步骤。通过调整Windows注册表设置,您可以轻松解决这一常见问题。 ... [详细]
  • Redis: 高效的键值存储系统
    Redis是一款遵循BSD许可的开源高性能键值存储系统,它不仅支持多种数据类型的存储,还提供了数据持久化和复制等功能,显著区别于其他键值缓存解决方案。 ... [详细]
  • 第1章选择流程控制语句1.1顺序结构的基本使用1.1.1顺序结构概述是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行 ... [详细]
  • 本文深入分析了在使用JavaScript中的Date.UTC()方法初始化Date对象时,getDay()方法返回值与预期不符的原因,并提供了相应的解决方案。 ... [详细]
  • 本文详细介绍了跨站脚本攻击(XSS)的基本概念、工作原理,并通过实际案例演示如何构建XSS漏洞的测试环境,以及探讨了XSS攻击的不同形式和防御策略。 ... [详细]
  • Hadoop集群搭建:实现SSH无密码登录
    本文介绍了如何在CentOS 7 64位操作系统环境下配置Hadoop集群中的SSH无密码登录,包括环境准备、用户创建、密钥生成及配置等步骤。 ... [详细]
author-avatar
阁下贵姓
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有