拓冰建站拓冰建站
首页 / 资讯中心 / 正文

SQL Server 2016安装配置实战:从环境准备到远程连接全流程

最近连续有好几个朋友找我问同一件事Windows机器上装SQL Server 2016安装包去哪儿找、装的时候哪些选项必须改、为什么装完死活连不上。问的人多了我也意识到虽然2025年了SQL Server 2016早不是最新版本但它在实际圈子里依然有巨大的存量各种企业ERP、OA、MIS系统的数据库版本锁定在2016数据库文件、存储过程、定时作业全都跑在这一版上新采购的电脑和服务器换代之后整套环境就得从头搭一遍。我最近正好给两台新机器部署了SQL Server 2016一台是Windows Server 2016系统一台是Windows 11工作站中间踩了几个坑也把安装到配置的完整链路走通了。这篇文章就按我实际操作的顺序把安装包获取、环境检查、安装向导逐项说明、装完之后的初始化以及常见失败排查全部写清楚给正准备动手的朋友一份可以直接照着做的流程。1. 商软环境下的现实选择为什么2025年还要装SQL Server 20161.1 业务系统锁版本不是你想升就能升先说一个挺反直觉的事实很多还在正常运转的老业务系统其数据库版本是被开发方写死在合同和维护协议里的。系统上线那几年开发商基于SQL Server 2016开发测试所有T-SQL语法、Agent作业、SSIS包都针对这个版本调优过。强行升级到2019或2022轻则出现查询计划变化导致的性能回退重则直接语法不兼容。我碰到过一个案例客户的某套进销存系统用的是2016版本IT主管想趁服务器更换顺便升到2022。结果测试环境下导入数据库备份后一个关键存储过程因为使用了某个已废弃的查询提示每次调用都会报错。开发商说要改代码费用另算工期要排到下季度。最后客户只能老实在新服务器上重新装回2016版本。这种事在传统企业IT环境里太常见了不是你技术不行是业务约束摆在那。所以如果你也是要给旧系统提供数据库环境别纠结版本旧不旧先搞清楚业务侧锁定的是哪个版本再决定装什么。1.2 SQL Server 2016的技术底子其实不弱抛开新版本更先进的思维定式SQL Server 2016这个版本在技术上是有诚意的。它引入了实时查询统计、内存OLTP增强、Stretch Database把冷数据延伸到Azure、原生JSON支持、Row-Level Security等一堆特性。对大部分中小型业务系统来说这个版本的能力上限远超实际使用需求。从性能角度看2016的查询优化器相比2014有不少改进列存储索引也进入了一个相对成熟的状态做数据分析类报表性能够用。安全性方面Always Encrypted技术就是在2016这个版本正式推出的虽然配置起来稍微麻烦一点但对于有敏感字段加密需求的场景不用额外上第三方加密工具数据库层面就能解决。我的观点是如果业务系统锁定2016那就别拿DBA应该有追求、要用新版本这套话术硬套。稳定满足业务需要、开发方能兜底这两个条件比版本号重要得多。把2016装好、配置正确同样是专业能力的体现。2. 安装前摸底硬件、系统与前置组件缺一不可2.1 官方要求的配置底线与实测建议SQL Server 2016的官方最低配置要求放现在看相当宽松1GHz以上处理器建议2GHz以上、最少4GB内存建议8GB以上、6GB以上磁盘空间。但我实际操作下来的感受是这只是能装上的标准不是能用好的标准。如果你是在虚拟机里装我建议至少分2个vCPU、8GB内存。内存这块尤其重要SQL Server是内存贪吃型应用你给它多少它就能用多少。我第一次在一台仅有4GB内存的Windows Server 2016虚机上装2016安装倒是成功了但跑起来之后系统可用内存只剩不到500MBWindows自己都在疯狂交换页面文件数据库查询卡得没法用。后来把内存加到8GB才正常。磁盘方面系统盘建议至少留30GB以上的剩余空间。SQL Server默认的数据文件、日志文件都在C盘Program Files目录下如果C盘空间不足安装程序会报一个磁盘空间不足的错误但提示信息并不明显很容易让人以为是别的问题。我在一台C盘只剩8GB的机器上装过一次装到一半报错回滚查了一圈才确定是这个原因。还有一个容易忽略的点建议使用NTFS文件系统。FAT32不支持单个文件超过4GBSQL Server的数据文件动辄几十GBFAT32根本撑不住。不过现在Windows系统盘基本都是NTFS这个只是顺带提醒一下。2.2 .NET Framework 3.5这个隐形拦路虎这是SQL Server 2016安装过程中最常见的失败原因之一。SQL Server 2016的安装向导本身依赖.NET Framework 4.6Windows 10/Server 2016自带但它的一些组件在安装过程中还需要.NET Framework 3.5尤其是你勾选了某些功能比如Reporting Services的时候这个问题会直接让安装卡住或者回滚。Windows 10和Windows Server 2016默认并不启用.NET Framework 3.5你需要提前手动开启。开启方法很简单打开控制面板-程序-启用或关闭Windows功能勾选.NET Framework 3.5包括.NET 2.0和3.0点击确定等待系统下载安装完成。如果你是Windows Server Core没有图形界面的版本也可以用PowerShell命令Install-WindowsFeature NET-Framework-Features注意这一步最好在安装SQL Server之前完成不要在安装向导报错之后再回头补。因为SQL Server的安装过程一旦中途失败回滚清理很麻烦注册表残留、临时文件残留都可能导致第二次安装时出问题。2.3 管理员权限与UAC——安装的基本门槛SQL Server的安装目录默认在C:Program FilesMicrosoft SQL Server服务账户需要写入注册表、创建Windows服务、设置文件权限这些操作没有管理员权限是完不成的。所以安装前一定要确保当前登录账户是管理员或者在安装文件setup.exe上右键选择以管理员身份运行。UAC用户账户控制这块我的建议是不用全局关闭但安装过程中要顶着弹窗点是。有些教程会建议你先把UAC拉到最低再装装完再拉回来。这个方法有效是有效但对一般用户来说装完忘记恢复UAC设置反而会引入安全风险。我在实际操作中都不会去动UAC滑块每次弹窗确认一下就好也就是多点几下鼠标的事。另外如果你是从网络共享路径或U盘直接运行安装程序Windows可能会弹SmartScreen提示此程序已阻止此计算机上的应用程序。这是正常的安全机制点击更多信息-仍要运行即可不用太紧张前提是你确认安装包来源可信来源话题见下一节。3. 安装包从哪儿来版本选择与资源获取渠道3.1 各版本之间的差异Express、Developer、Standard、Enterprise到底选哪个这是很多人第一步就会卡住的问题搜到的安装包一堆名字不知道下哪个。我把SQL Server 2016各主要版本的区别整理了一下版本是否收费CPU/内存上限适用场景Express免费4核/1GB内存学习、小规模应用、测试Developer免费无限生产不可用开发测试环境Standard收费24核/128GB内存中小型生产环境Enterprise收费操作系统上限大型生产环境、企业级高可用对于学习、搭环境、开发测试来说Developer版是最合适的它功能上跟Enterprise完全一致只多一条禁止用于生产环境的许可限制。很多老开发人员的电脑上装的就是Developer版用来日常开发联调。Express版比较复杂SQL Server 2016的Express细分了好几个子版本ExpressBasic、Express with Tools、Express with Advanced Services包含了报告服务和全文索引而且单个数据库大小限制在10GB。你要是只想跑个小工具、学一下T-SQL语法Express够用但要接近真实业务环境不建议用这个版本。我个人的建议是开发环境和测试环境一律用Developer版生产环境看预算和业务规模在Standard和Enterprise之间选。如果你是给客户部署生产库记得确认客户有没有对应的许可授权别稀里糊涂装上就行。3.2 安装包获取渠道与资源真伪辨别关于安装包资源我优先推荐官方渠道。微软官方提供了各版本SQL Server 2016的评估版下载可以从微软评估中心Microsoft Evaluation Center获取Enterprise版试用ISO也可以从Visual Studio订阅者下载页面获取Developer版。这些官方渠道给出的都是完整ISO镜像安全性有保障。如果你是从网盘、论坛等第三方渠道获取的安装包我强烈建议做一次SHA256哈希校验。你可以在下载页面找发布者给出的哈希值下载完成后用PowerShell校验Get-FileHash -Path D:SQL2016.iso -Algorithm SHA256如果发布者没给哈希值那就看文件大小和文件结构。SQL Server 2016的ISO镜像大约在2GB出头含全部功能解压或挂载后应该能看到setup.exe、autorun.inf、media.xml这几个关键文件。如果下载下来的文件只有几百MB而且没有完整的目录结构极有可能是阉割版或者捆绑了其他东西建议果断放弃。ISO镜像拿到手之后Windows 10/11和Windows Server 2016/2019都支持直接双击挂载为虚拟光驱然后进入虚拟光驱目录双击setup.exe即可启动安装程序。也可以用解压工具整体解压效果一样。我在实际中见过不少人卡在不知道ISO文件怎么用这一步其实很简单右键点击ISO文件选择装载然后打开此电脑里多出来的那个光驱盘符就行。装完之后可以右键光驱盘符选择弹出ISO就会自动卸载。4. 安装向导逐页拆解每一个选项都要知道为什么4.1 安装程序启动之后的第一个分岔口双击setup.exe后会出现SQL Server安装中心界面左侧有几个分类规划、安装、维护、工具、资源、高级、选项。绝大多数情况下我们只需要点击右侧的全新SQL Server独立安装或向现有安装添加功能。注意别点成从SQL Server早期版本升级那是给已经有旧版本数据库的机器用的。接下来会先跑一次安装程序支持规则检查检测当前操作系统是否符合要求、是否有最低磁盘空间等问题。这一步骤如果出现失败项先别急着下一步一定要解决完再继续。常见的自动通过项都很顺利真正容易拦路的还是.NET 3.5前面说过了和重启计算机状态——如果Windows检测到有待处理的系统更新需要重启安装程序会直接提示重启后再继续。通过产品密钥页面时官方评估版会自带一个Evaluation密钥安装完成后有180天试用期。如果你有正版密钥在输入框填上即可。这里有个细节值得注意Developer版和Enterprise版的安装包其实是同一个ISO两者是靠密钥区分的。你输入Developer密钥装出来的就是Developer版输入Enterprise密钥装出来的就是Enterprise版。评估版自带的Evaluation密钥默认装成Enterprise版。4.2 功能选择勾选时心里要有数功能选择页面列出了SQL Server的所有组件默认是实例功能里的数据库引擎服务。我建议按实际需求勾选别一股脑全选也别都去掉。各功能的用途如下数据库引擎服务核心中的核心装SQL Server就为了它必须勾选。SQL Server复制做数据库复制分发时用一般业务系统用不到可以留到需要时再加。全文和语义提取搜索在数据库里做中文全文检索时使用。如果你的系统有这个需求比如新闻站、文档管理系统建议勾上。Analysis Services多维数据分析业务系统用到的场景不多没明确需求可以不装。Reporting Services微软的报表服务组件。有些老系统用它出报表如果确定系统依赖RS装不确定的话果断不装。机器学习服务做数据挖掘时用普通业务环境用不到。共享功能这部分有几个选项值得注意客户端工具连接组件和数据质量客户端可以勾上尤其是客户端工具连接组件这是后续用代码或工具连接数据库必须的。SQL Server Management StudioSSMS注意SSMS在2016版本之后从安装包中拆出来了。在安装向导里勾不勾SSMS都不影响你安装它。微软强烈建议安装完数据库后单独下载最新版SSMS后面第5节会讲。功能勾选完之后安装位置建议保持默认C盘除非你的机器C盘空间确实紧张否则不要随意改路径。改了路径后续很多配置文件、脚本里写的默认路径都会对不上排查问题多一个变量。页面上还有一个共享功能目录选项这里保持默认即可。我见过有人把共享功能目录改到D盘结果装完发现SSMS连不上数据库因为有些服务组件路径对不上白折腾半天。4.3 实例配置默认实例与命名实例的选择实例相当于数据库引擎的一个独立服务运行单元。一台机器上可以装多个实例通过不同的实例名区分。默认实例实例名为MSSQLSERVER连接字符串里只需写机器名或IP默认监听1433端口。命名实例实例名自定义比如SQLEXPRESS、MYTEST连接字符串要写成机器名实例名默认通过动态端口UDP 1434发现服务找到实际端口。首次安装时大多数场景我推荐选默认实例。原因很简单后续所有连接串都不用带实例名省掉很多麻烦。如果一台机器需要装两个SQL Server然后再考虑命名实例否则默认实例是更省心的选择。注意一个容易踩坑的细节微软的SQL Server Express在安装器里总是推荐你使用SQLEXPRESS这个命名实例这就导致很多学习者的机器上连接数据库的时候要写localhostSQLEXPRESS。如果装上之后发现用机器名连不上先查一下是不是装了Express命名实例。4.4 服务器配置服务账户与排序规则服务器配置页面分为服务账户和排序规则两个标签页。服务账户这一页主要配置SQL Server各Windows服务的启动账户。默认情况下SQL Server数据库引擎和SQL Server代理等服务使用的账户都是NT服务MSSQLSERVER或者NT SERVICExxx。这个默认配置在绝大多数场景下都够用我不建议普通用户去改成自定义账户尤其不建议改成Administrator或本机系统账户。数据库服务使用独立最小权限账户这是微软官方的安全最佳实践。启动类型上SQL Server数据库引擎和SQL Server Browser我记得建议设为自动。数据库引擎设为自动是必须的不然重启机器后数据库服务不会自动启动。SQL Server Browser服务虽然在默认实例下不是必需的但仍然建议设为自动以防以后改了实例配置或者要发现多个实例。排序规则Collation这个配置一般保持默认的SQL_Latin1_General_CP1_CI_AS即可。中文企业环境里如果不小心被改了排序规则之后做表关联、字段比较、索引建立都可能出现莫名的乱码或排序不一致问题。4.5 数据库引擎配置身份验证模式、sa密码与数据目录这个页面是整个安装向导里最容易出问题的地方信息量也最密。身份验证模式这里有两个选择Windows身份验证模式以及混合模式。Windows身份验证模式只允许Windows系统账户登录用户管理跟Windows账户体系绑定。混合模式允许Windows账户登录同时允许SQL账号比如sa登录。我的建议是自用开发环境装完选Windows身份验证就够了少暴露一个sa账号安全风险更小。但实际项目中很多老系统用的就是SQL账号的连接串这类系统必须选混合模式。这里关键看业务系统支持哪种认证方式。注意如果选了混合模式安装向导会强制你设置sa密码。千万别设置弱密码也别装完就不管了。sa这个账号权限太高一旦泄露等于数据库完全暴露。我习惯把所有生产库的sa密码强度要求提到至少12位包含大小写字母、数字和特殊符号。SQL Server管理员这一栏要求指定一个拥有sysadmin固定服务器角色的Windows账户。默认会带上当前登录的用户不要把它清空。如果这里留空安装完成后你可能会发现自己没有管理员权限连数据库都进不去只能重新初始化再改配置。数据目录这里的每项都能改路径但我建议前期保持默认。Data根目录在C:Program FilesMicrosoft SQL Server默认的数据文件和日志文件都在其下。强制要求改路径的场景主要是因为C盘空间太小那么建议改成D盘或者数据盘但你要记得后续创建的数据库文件会以这个目录为基础。4.6 安装进度与完成确认以上配置完成后安装程序开始正式执行安装进度条会走好几个阶段安装安装程序文件、安装规则、安装实例功能、完成。整过程根据机器性能不同一般在20-40分钟。装完之后安装向导会显示一个完成页面和一段摘要日志的路径一般位于C:Program FilesMicrosoft SQL ServerxxxSetup BootstrapLog。这个日志文件在你后续排查问题时非常有价值。如果页面提示成功的安装产品是Microsoft SQL Server 2016说明最关键的一步已经过了。还有一个小提示安装完成后建议别急着关机或重启先去任务管理器的服务选项卡里确认有没有SQL Server开头的服务在运行确认状态是正在运行。5. 装完不等于能用从服务启动到远程连接一步一步来5.1 打开SSMS做第一验证安装完SQL Server本体之后第一件事就是下载安装SSMSSQL Server Management Studio。前面我提到过微软从SQL Server 2016开始把SSMS从安装包中拆出去了你需要单独从微软官网下载SSMS安装包最新版是2x.x版本免费使用。SSMS下载安装完成后打开它连接到服务器对话框会自动弹出来服务器类型选数据库引擎服务器名称填一个点.代表本机默认实例或者localhost就行身份验证选Windows身份验证。如果这里能成功进入说明数据库引擎本身安装没问题。如果你填了localhost但连接失败试试填(local)再不行就填机器名。这一步是排除数据库服务异常的最快方法别的都能往后放。5.2 开启远程访问的完整链路本地连接成功是最基础的一步。很多场景下比如程序服务器连数据库服务器需要远程连接SQL Server这个需求涉及的环节比较多按顺序来SQL Server配置管理器里开启TCP/IP协议开始菜单找到SQL Server配置管理器展开SQL Server网络配置点击实例名的协议右侧找到TCP/IP右键启用。这一步很多人会漏掉因为安装完成后默认只启用了Shared Memory协议只能本机连。启用TCP/IP后记得重启SQL Server服务。重启方式可以直接在配置管理器里右键SQL Server服务下的对应实例选择重新启动。确认1433端口监听在配置管理器的TCP/IP属性里能看到IP地址标签页最下方的IPAll节点里设置TCP端口的默认值为1433默认实例。你可以在命令行运行下面命令确认端口监听起来netstat -an | findstr 1433如果看到LISTENING状态说明数据库监听正常。Windows防火墙放行1433端口这是远程连接失败最高频的原因。数据库服务器用管理员权限打开PowerShellNew-NetFirewallRule -DisplayName SQL Server 1433 -Direction Inbound -Protocol TCP -LocalPort 1433 -Action Allow这条命令创建一条入站允许规则。如果你不确定防火墙是否拦截可以先临时关闭防火墙测试一次确认是防火墙问题后再把防火墙打开、统一加入规则。安全生产环境中关闭防火墙是不可取的一定要以加规则方式放行。客户端的连接方式连接远程数据库时服务器名称填写IP地址,1433或者直接填IP地址默认端口情况下可以省略端口号。注意这里是英文逗号不要填成中文逗号。5.3 开启sa账户并测试SQL账号登录如果你的业务系统是用SQL账号登录的还需要在SSMS里把sa账号启用并设置密码。登录SSMS后展开安全性-登录名找到sa右键属性在常规页设置一个新的强密码。在状态页把是否允许连接到数据库引擎设为授予登录设为启用。完成后用sa登录试一次SELECT VERSION;如果返回SQL Server版本信息说明一切正常。5.4 数据目录确认与新数据库测试安装好之后建议尽快建一个测试数据库验证读写都正常。简单执行两步CREATE DATABASE TestDB; GO USE TestDB; GO CREATE TABLE dbo.t1 (id INT, name NVARCHAR(50)); GO INSERT INTO dbo.t1 VALUES (1, Ntest); GO SELECT * FROM dbo.t1; GO这一步主要是确认磁盘可以正常写入、数据库文件能创建成功。如果这一步报错看一下错误信息里的路径信息基本能定位到数据目录的权限问题。另外顺手设置一下数据库的自动增长方式。右键TestDB属性-文件把初始大小和自动增长比例根据磁盘余量调好一般日志文件按10%增长数据文件按256MB固定增长避免频繁自动增长造成性能抖动。6. 安装失败排查手册按症状对症下药6.1 安装进程回滚和无法连接类问题的根因我安装SQL Server的过程中遇到过一次回滚一次远程连接失败。回滚这次我把日志翻出来看最后定位到是.NET Framework 3.5没开。安装向导的日志位于C:Program FilesMicrosoft SQL Server140Setup BootstrapLog搜索error关键字能看到具体的错误码。如果是0x84B20001之类的错误大概率就是必备组件缺失如果是0x80131500那可能跟SQL CLR或权限有关。远程连接失败那次前期我把所有配置都检查了一遍觉得没问题但客户端就是连不上。后来用PowerShell查了一下端口监听发现SQL Server进程只监听了127.0.0.1而不是0.0.0.0查出来是SQL Server配置管理器里IPALL节点的TCP端口只配置了1433但是IP1、IP2等节点的已启用状态没改成是。修正后重启服务才真正对所有网络接口开放。6.2 常见错误码与处理对照我在各种群里和实际部署中见过不少典型报错整理一下症状/错误原因处理方式提示此计算机上安装了Microsoft Visual Studio 2010的预发布版本VS 2010组件冲突卸载相关VS预发布组件后再装安装中途回滚退出码0x84B20001.NET Framework 3.5未启用先开.NET 3.5再重装提示无法连接到本地数据库引擎数据库服务未启动/共享内存协议异常检查服务状态SSMS用(local)重试远程连接超时防火墙拦截或TCP/IP未启用先本地测试再检查防火墙1433端口无法连接命名实例SQL Server Browser服务未开启启动Browser服务并确保UDP 1434端口放行登录失败错误18456状态5sa账号未启用或密码错误用Windows身份登录启用sa并重设密码无法在文件*.mdf上创建文件数据目录权限不足给SQL Server服务账户授予目录写入权限注意第4条是最常见的我强烈建议把前面说的5.2 开启远程访问的完整链路按顺序走完很多远程连不上的问题就解决了。6.3 卸载重装的残留问题SQL Server的卸载历来是个头疼事。如果你遇到安装失败想重装直接点控制面板卸载往往卸载不干净。注册表残留、服务残留、文件夹残留都会影响第二次安装。我这边整理了一个相对靠谱的卸载清理顺序用安装器自带的卸载功能卸载所有SQL Server组件。在控制面板-程序和功能里把所有名称带SQL Server的程序全部卸载。删除C:Program FilesMicrosoft SQL Server目录在确认没有需要的数据后。删除C:Program FilesMicrosoft SQL Server Management Studio如果存在和C:WindowsSQL*相关的临时目录。运行注册表编辑器删除HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL Server、HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSSQLServer等关键键值。删除服务残留管理员权限运行命令提示符用sc delete命令删除残留服务。sc delete MSSQLSERVER sc delete MSSQLFDLauncher sc delete MsDtsServer140重启电脑后再尝试重新安装。早期我用过不少第三方卸载工具来清理SQL Server残留后来发现手动的这个流程反而更可控因为它不会误删别的软件共享的注册表键。核心思路就是系统自带卸载→清目录→清注册表→删服务→重启重装。每一步都不要贪快跳过。最后一件事安装日志你要会看安装日志这个东西看起来很烦一行一行密密麻麻但排坑时它真能救命。SQL Server 2016安装日志主要放在C:Program FilesMicrosoft SQL Server140Setup BootstrapLog里面有几个文件Summary.txt是摘要ErrorLog.txt专门记录错误还有按时间命名的详细日志。排查问题时先打开Summary.txt看最上方的Overall Summary如果显示失败往下翻能看到失败的组件列表和对应的Exit Code。拿到错误码之后再去ErrorLog.txt里搜这个错误码对应的上下文。很多时候错误信息里会直接给出缺失条件比如Windows Installer版本不对、某个组件报Must be an administrator等照着处理即可。装数据库这种事本质就是环境、配置、网络三个维度的事。环境看系统组件齐不齐配置看向导页面有没有选对网络看端口和服务通不通。你只要把这三个维度逐一排查SQL Server 2016在Windows上的安装基本不会卡住你太久。记得装完先用SSMS本地验证再走远程通道测试层层确认别等服务都启动到一半才发现TCP/IP协议压根没开。我每次装数据库都会把上面这套流程走一遍熟练之后一台机器从装系统到数据库跑通半小时以内搞定不是什么难事。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门