尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

SQL Server 2016安装全攻略:从环境检查到静默部署

SQL Server 2016安装全攻略:从环境检查到静默部署 简介SQL Server 2016的安装涉及版本选择、密钥验证、规则检查、功能配置、实例设定等多个环节新手很容易在步骤间犹豫或出错。这份PDF图文教程正适合数据库初学者、运维人员以及需要独立搭建SQL Server环境的技术人员用清晰截图与编号步骤完整串起从安装中心入口到服务安装成功的操作流程。资源共1个文件为PDF格式大小1.42MB方便在电脑或手机上对照查看。教程内容覆盖产品密钥输入、全局规则检查、更新配置、功能选择、实例配置、PolyBase与服务器配置、引擎及Analysis Services、Reporting Services、Distributed Replay等关键配置并提示了混合模式密码、虚拟机安装耗时等易被忽略的细节。已有2167人学习下载既可以跟随教程逐步操作完成安装也可以提前通读全流程梳理思路避开常见误区提升安装成功率。1. 先想清楚这台 SQL Server 2016 要装成什么形态SQL Server 2016 虽然已经是上一个时代的产品但很多生产库、ERP 和旧系统至今还跑在它上面。安装向导里“下一步、下一步”确实简单真正让人返工的就那几个选择默认实例还是命名实例、Windows 身份验证还是混合模式、数据库引擎和 SSMS 是否同时装、数据目录要不要挪出系统盘。很多公司不是追新而是被应用方锁定了版本比如系统明确要求 SQL Server 2016 标准版再新的版本也不能直接顶替。这篇按 SQL Server 2016 安装步骤的真实界面顺序来写把每个关键选择背后的影响讲清楚重点解决“装完发现选错”“装了一半卡在规则检查”“装完连不上”这三类高频问题。新手可以照做熟手可以跳到第3、4章直接看实例配置和收尾验证。2. SQL Server 2016 安装前的环境检查与安装包准备环境问题往往在双击 setup.exe 之后才爆发而且一旦卡在规则检查安装界面会停在同一个位置反复提示甚至会留下一个位置很深的临时日志目录给后续排错增加成本。我习惯先把前置条件用脚本扫一遍再动安装包省下的时间比写脚本花掉的时间多得多。2.1 用一条 PowerShell 检查内存、磁盘与重启状态很多人在安装前只知道看磁盘剩余空间却忘了一台刚重新安装过的服务器可能还挂着重启标记。SQL Server 2016 的安装器在检测到重启标记时不会让你继续所以这四件事最好一次性确认完。下表列出 SQL Server 2016 的最低要求我按生产环境的常见建议一起写在第三列。检查项最低要求生产建议操作系统Windows 7 SP1 或 Windows Server 2008 R2 SP1 以上需 64 位Windows Server 2016 及以上并提前关闭自动重启内存1 GBExpress 版 512 MB8 GB 起步按实际负载预留磁盘6 GB 可用空间系统盘与数据盘分离预留 2 倍数据量.NET Framework4.6提前补到 4.6 以上避免检测失败文件系统NTFS数据盘使用 NTFS 或 ReFS不要用 FAT32# 用 CIM 读取物理内存总量 Get-CimInstance Win32_ComputerSystem | Select-Object {nMemoryGB;e{[math]::Round($_.TotalPhysicalMemory/1GB,2)}} # 检查 C 盘可用空间单位为 GB Get-CimInstance Win32_LogicalDisk -Filter DeviceIDC: | Select-Object DeviceID, {nFreeGB;e{[math]::Round($_.FreeSpace/1GB,2)}} # 检查系统是否有挂起的重启 Test-Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired第一段读物理内存第二段取 C 盘剩余空间第三段检查系统更新遗留的 RebootPending 标记。返回值如果为 True说明系统还欠一次重启False 则可以直接安装。要注意 Test-Path 只检查固定键值部分待重启状态由 PendingFileRenameOperations 等其他键值标识保险起见可以在系统日志里看 Kernel-Power 事件不过多数场景用这组命令已经足够。2.2 安装介质与版本选择ISO 校验、Developer 版和升级路径SQL Server 2016 安装包可以从微软批量许可服务中心或评估中心拿到 ISO 文件下载完成后不要直接双击挂载顺手做一次哈希校验更稳妥。拿到的 ISO 文件名里一般带着 x64-CHS 这样的后缀代表 64 位中文版SQL Server 2016 已经没有 32 位的安装介质可用。# 计算安装介质的 SHA256 值 Get-FileHash .\SQLServer2016-x64-CHS.iso -Algorithm SHA256-Algorithm SHA256指定摘要算法Get-FileHash会在屏幕上打印文件的 SHA256 值。把打印结果和微软文档或下载页给出的校验值对照不一致就重新下载。SQL Server 2016 之后的安装包同样支持这个检查方式所以这条命令在 sql server 2019 安装教程里也经常出现。版本方面常见选择是 Enterprise、Standard、Developer 和 Express。Developer 的功能和企业版一致但授权协议不允许用于生产环境适合学习、开发和做兼容性验证。如果只是在单机桌面环境跑一个小系统Express 也够用一旦涉及报表服务或多个 CPU 核还是需要 Standard 版。另一个容易被忽略的入口是安装中心左侧的“维护”标签页从旧版本升级到这里会走“升级”路径。SQL Server 2008 R2 直接升级到 2016 时仍然用这个安装中心启动而不是先把旧实例卸载。2.3 服务账户装之前先决定 SQL Server 用什么身份运行SQL Server 引擎服务、代理服务和全文检索服务各自可以使用不同的启动账户这些账户决定了引擎读写网络共享、连接域服务时的外部可见身份。最常见的做法是给数据库引擎建一个独立的域账号把它加入本地的性能计数器用户组再赋予“作为服务登录”的权限如果机器没入域用虚拟账户也可以运行在 Windows Server 2016 上时虚拟账户能规避本地管理员密码轮换的维护成本。不建议把 LocalSystem 作为持久方案LocalSystem 权限过大会让数据库被入侵后的后果被放大。更不建议拿普通桌面账号跑数据库服务桌面会话锁定或密码过期都会让 SQL Server 起不来。安装向导在“服务器配置”页会要求填写服务账户这里填错装完第一个服务会直接启动失败排错要花的时间比安装还长。3. 走完 SQL Server 2016 安装向导功能、实例与认证模式安装中心的主界面是安装、维护、工具三个标签页。在“安装”标签页里点“全新 SQL Server 独立安装或向现有安装添加功能”这是最常见的入口。若是在一台没有界面的 Windows Server Core 上做部署这个入口不存在就直接跳到第5章的命令行方式。3.1 产品密钥、许可条款和全局规则进入安装过程后第一屏通常会要求填产品密钥。评估版可以留空也可以从下拉列表指定版本输入密钥后安装程序会自动判断该装哪个 edition。生产环境这里不要选 Developer 或 Express 冒充标准版后期做版本功能校验会非常麻烦。之后是许可条款勾选和全局规则检查。全局规则界面会显示若干条检测结果常见的有要求管理员权限、要求重启、要求 WMI 服务运行。正常情况下看到的应该是绿色对勾出现黄色警告可以继续出现红色错误就需要先解决。这里最干净的做法是右键 setup.exe 选择“以管理员身份运行”并确保机器不在待重启状态前面第2章的 PowerShell 检查在此时就能派上用场。3.2 功能选择引擎、客户端工具和 SSMS功能选择界面是下一次返工的重灾区。左侧目录树里勾选“数据库引擎服务”SQL Server 复制等依赖组件会被自动勾上这是主服务。如果只是初始化一个库让应用连接右侧“客户端工具连接”也最好选上很多排错命令要用 sqlcmd这个工具就来自客户端组件。SQL Server Management Studio 在 2016 版本里不是和数据库引擎一起装进去的。完成安装后安装中心专门有“安装 SQL Server 管理工具”的入口需要另外运行 SSMS 安装程序。很多新手在“功能选择”里翻不到 SSMS以为装漏了其实文档逻辑是先装引擎再装工具。如果后面要写 T-SQL 做验证SSMS 单独装一次并不复杂。功能选择页面下方有两个目录一个是实例根目录一个是共享功能目录默认都在C:\Program Files\Microsoft SQL Server。实例根目录只在安装时用一次共享目录会被所有实例复用如果 C 盘怕满可以把共享功能目录改到另一块盘但同一台机器上的多个实例必须沿用同一共享目录。3.3 实例配置默认实例与命名实例怎么选实例配置界面的问题不是“哪个更好”而是“之后怎么连”。默认实例的实例名是 MSSQLSERVER服务名也是它连接字符串里只需要写机器名默认端口是 1433命名实例则需要在机器名后面加反斜杠和实例名例如SERVER1\SQL2016默认情况下监听动态端口。生产环境一台机器只跑一个库时我用默认实例一台机器要放开发库、测试库和正式库时用命名实例把环境隔离。命名实例之间的服务是独立的停掉一个不影响另一个但每个实例都会额外占用内存和 CPU资源有限时不要开一堆实例。实例类型连接写法默认端口典型场景默认实例localhost或机器名TCP 1433单实例部署应用连接配置简单命名实例机器名\SQL2016动态端口多实例隔离开发测试共存命名实例的动态端口会给防火墙放行带来额外成本远程连接时还需要 UDP 1434 配合 SQL Browser 服务做解析。因此不要把命名实例当成默认选项除非你明确知道保留多个实例的必要性。3.4 数据库引擎配置认证模式、管理员和数据目录“服务器配置”页面会先出现里面可以调整 SQL Server 服务的启动账户和排序规则。这里重点看服务账户列“账户名”是安装前第 2.3 节准备的账号排序规则保持数据库默认即可中文环境通常不用改除非业务系统对排序规则有明确要求。再往下的“数据库引擎配置”页里有服务器配置、数据目录、FILESTREAM 三个标签页。服务器配置标签页可以选 Windows 身份验证或混合模式。只让内部应用通过域账号连接的时候选 Windows 身份验证最省心老系统、跨平台程序或数据库前置机需要独立 SQL 账号时选混合模式。两个选择没有绝对的好坏但混合模式会打开 SQL 账号登录通道必须同时处理 sa 密码策略否则装完就是一个风险入口。管理员指定区域必须先有一个人或一个组在 sysadmin 固定服务器角色里。单机实验就点“添加当前用户”生产环境建议指定一个运维组而不要只留个人账号避免人走之后管理入口断掉。数据目录标签页可以调整数据文件、日志文件、备份和 TempDB 的路径生产环境至少把备份目录从系统盘分出去数据文件和日志文件最好放不同物理磁盘。FILESTREAM 标签页默认不启用数据库需要存非结构化文件且要走文件流接口时才打开。这一步不用提前猜安装完再启用也可以所以不建议在首次安装时把不熟悉的选项全选上。3.5 Analysis Services、Reporting Services 与安装结果检查如果功能选择时勾了 Analysis Services会出现 Analysis Services 配置页服务器模式有多维和数据挖掘、表格两种。业务侧没明确要求就先不勾免得后续部署模型时才发现模式不对。Reporting Services 如果选了“安装并配置”会多出一个报表服务站点进程多数业务只用数据库存储不需要报表服务功能选择里直接取消勾选更省资源。最后进入“准备安装”界面安装程序会把之前的选择汇总成列表下拉确认无误后点击安装。安装过程耗时取决于机器性能和所选功能一般五分钟到二十分钟。启动后不要反复点击避免多个安装进程互相锁定。一旦出现红字失败马上打开日志目录。# 查看安装摘要日志的最后 40 行定位失败要素 Get-Content C:\Program Files\Microsoft SQL Server\130\Setup Bootstrap\Log\Summary.txt -Tail 40130对应 SQL Server 2016 的注册表版本目录2019 是150。Summary.txt 里有每个功能的检查结果和最后的 ExitCode只要看到Configuration action failed之类的关键词下面跟着的就是失败组件。安装器退出后这个目录不会自动清空排错效率比在安装界面上看提示高很多。4. 装完 SQL Server 2016 后立刻要做的验证与最小加固安装界面显示成功只代表文件已配置完能不能连上、能不能远程访问完全是另外一回事。我会按服务、协议、防火墙、登录、密码这五个顺序检查一遍这个顺序也适合作为新机器验收的清单。4.1 用 SQL Server 配置管理器检查服务和网络协议开始菜单或服务器管理工具里能找到“SQL Server 2016 配置管理器”。打开后先看 SQL Server 服务是否处于“正在运行”状态如果显示停止右击启动并同时确认服务账户是否填写正确。服务起来后再看 SQL Server 网络配置下对应实例的协议默认安装只启用 Shared MemoryTCP/IP 往往是禁用状态这就是“本机能连、远程连不上”的首要原因。把 TCP/IP 改为已启用重启 SQL Server 服务让配置生效。重启可以右击实例服务选择“重新启动”也可以用命令Restart-Service MSSQLSERVER。如果实例是命名实例服务名一般是MSSQL$实例名PowerShell 里就用Restart-Service MSSQL$SQL2016。# 重读默认实例 IPAll 下的 TCP 端口 Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQLServer\SuperSocketNetLib\Tcp\IPAll | Select-Object TcpPort, TcpDynamicPortsTcpPort是固定监听端口TcpDynamicPorts非零表示当前由动态端口决定。默认实例 1433 写死的情况下TcpDynamicPorts 可能是空这是正常的命名实例则反过来主要看动态端口。如果两个值都为空说明协议没有正确启用返回配置管理器确认状态。4.2 远程连接时的防火墙端口与 SQL Browser默认实例远程连接只需放通 TCP 1433命名实例还要放通 SQL Browser 服务的 UDP 1434否则客户端无法解析机器名\实例名。Windows Server 2016 的防火墙默认拦截入站即使 SQL Server 服务自己也在监听不去加规则依然连不上。服务/协议默认端口用途SQL Server 默认实例TCP 1433数据库引擎的连接SQL Server BrowserUDP 1434解析命名实例的服务名和端口Analysis ServicesTCP 2383分析服务实例的默认端口DTCTCP 135分布式事务协调器少用但要注意New-NetFirewallRule -DisplayName SQL Server 1433 -Direction Inbound -Protocol TCP -LocalPort 1433 -Action AllowDisplayName起一个有辨识度的名字方便后面清理Direction Inbound放行入站LocalPort 1433指定实际端口Action Allow表示允许连接。如果一台机器上要开多个实例不要简单地把 1433 端口重复放行应为每个命名实例分配固定 TCP 端口再按端口放行。SQL Browser 这条规则只对内部网段放开不要直接暴露到公网。4.3 用 sqlcmd 验证登录和身份验证模式验证方式不依赖图形界面sqlcmd 是最直接的工具。使用 Windows 身份验证登录默认实例sqlcmd -S localhost -E -Q SELECT SERVERNAME, VERSION-S指定实例名localhost代表本机默认实例-E使用当前 Windows 身份-Q执行后面的 SQL 语句并退出。如果命令能返回服务器名和版本号说明引擎服务正常、默认实例可登录。混合模式则需要用-U sa -P指定 SQL 登录。继续检查认证模式和补丁版本SELECT SERVERPROPERTY(IsIntegratedSecurityOnly) AS WindowsOnlyMode, SERVERPROPERTY(ProductLevel) AS ProductLevel;IsIntegratedSecurityOnly等于 1 时只允许 Windows 认证0 是混合模式ProductLevel可以看到 RTM 或 SP1/SP2/SP3。SQL Server 2016 的主流部署至少应该升级到 SP3ProductLevel显示 SP3 之前都要考虑打补丁。4.4 sa 密码和最小权限如果选择了混合模式sa 是安装过程创建的第一批 SQL 管理员。不要保留空密码或常见密码安装完立刻用 ALTER LOGIN 重置并检查是否启用了密码过期策略。生产库的日常访问不要让应用直接连 sa新建专用登录账号按库授权最小权限原则在这里和 Web 服务器安全配置同等重要。如果一开始选的是 Windows 认证模式后来发现必须改混合模式不用走卸载重装。在 SSMS 实例属性安全性里切换认证模式再重启服务即可。改完后回到第 4.3 节的 SQL 语句确认IsIntegratedSecurityOnly已变成 0。5. 用命令行做 SQL Server 2016 无人值守安装与静默卸载以后新装多台机器时还一台台点向导就太慢了。SQL Server 2016 安装镜像里的 setup.exe 支持静默参数与配置文件和交互式安装相同但结果会在退出代码里体现。这一章给出一套最小可用的静默安装命令和卸载命令。5.1 用 setup.exe 参数先跑通一次无人值守安装setup.exe /ACTIONInstall /FEATURESSQLENGINE,SSMS /INSTANCENAMEMSSQLSERVER /SQLSYSADMINACCOUNTSCONTOSO\SQLAdmins /SECURITYMODESQL /SAPWDAeQw!23456F9 /TCPENABLED1 /Q/ACTIONInstall表示全新安装如果是从旧版本升级要改成/ACTIONUpgrade。/FEATURESSQLENGINE,SSMS指定安装数据库引擎和 Management Studio只装引擎写SQLENGINE。/SQLSYSADMINACCOUNTS把哪个 Windows 登录放进 sysadmin。/SECURITYMODESQL配合/SAPWD启用混合模式不加则默认 Windows 认证。/TCPENABLED1让安装器直接开启 TCP/IP免去配置管理器的改动。/Q是完全静默模式不弹任何界面。从 Windows Server Core 上执行也可以但安装介质要先挂载或复制到本机。5.2 固定复用 ConfigurationFile.ini命令行参数写起来很快但密码会出现在进程参数里容易被系统审计或历史记录留下明文。更稳妥的方式是用配置文件把这些参数写到一个ConfigurationFile.ini里[OPTIONS] ACTIONInstall FEATURESSQLENGINE,SSMS INSTANCENAMEMSSQLSERVER SQLSYSADMINACCOUNTSCONTOSO\SQLAdmins SECURITYMODESQL SAPWDAeQw!23456F9 TCPENABLED1 QUIETTrue然后执行setup.exe /CONFIGURATIONFILED:\SQL2016\install.ini /Q配置文件和命令行参数可以混用命令行参数优先级更高。QUIETTrue和/Q等价。这个文件里带了真实密码部署结束后应把它移动到只有管理员可读的目录或者直接删除。多台机器批量安装时最好让INSTANCENAME和SQLSYSADMINACCOUNTS保持占位符风格并在外层脚本里按机器注入。5.3 静默卸载和结果判断卸载方式同样简洁setup.exe /ACTIONUninstall /FEATURESSQLENGINE,SSMS /INSTANCENAMEMSSQLSERVER /Q静默模式下没有界面提示判断是否成功要看退出代码。0 表示成功3010 表示成功但需要重启。脚本里应等待 setup.exe 进程结束再读取$LASTEXITCODE而不是只看有没有弹窗。要确认卸载干净可以看注册表项HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL下是否已经没有对应实例键值。静默安装失败时界面不会给出交互式重试机会排除思路反而更简单先看安装摘要日志 Summary.txt 的 ExitCode再打开组件日志找Configuration action failed行。在一台坏掉的新机器上重新装最省事的顺序是先看ExitCode再看 Summary.txt两层日志都找不到线索最后才查系统事件日志。本文还有配套的精品资源点击获取
返回列表