简介:这份资源将 Microsoft SQL Server 从 2000 到 2019 的主要版本整理成一份可快速检索的清单,覆盖企业版、开发版、标准版,以及各版本的 32 位/64 位下载地址,并附有部分补丁与服务包链接。对需要安装、测试或维护 SQL Server 的开发者、DBA 和运维人员来说,能省去反复查找官方下载入口的麻烦。资源为 1 个 PDF 文件,压缩包整体仅 26KB,内容以版本和链接对照为主,便于收藏和离线查阅;已有 4197 人学习。通过这份清单,读者可以对比各版本定位,快速获取从 SQL Server 2000 到 2019 的下载线索,也能在搭建实验环境、维护旧系统或准备生产部署时作为参考。
1. 微软 SQL Server 各版本安装包:别在下载这一步耗掉半天
某开发者想在一台干净 Windows Server 上装 SQL Server 2019 做兼容性测试,结果在搜索引擎里翻了半小时,下载了一个带 Evaluation 标记的镜像,装完发现只有 180 天授权,又要重装。这个场景我相信不少人都遇到过。Microsoft SQL Server 数据库各版本下载地址集合,解决的就是这类问题:把从 2008 R2 到 2022 的官方下载渠道理清楚,让你知道该去哪个页面、选哪个文件、避开哪些暗坑。无论你是要装 Express 写练手代码,还是给老系统找 SQL Server 2012 安装介质,这篇文章都能让你在十分钟内搞定下载和校验,不再把时间花在试错上。
2. 官方下载渠道与版本差异:先搞懂去哪下和选哪个
2.1 微软官方下载页面的整体结构
微软把 SQL Server 的下载入口打散在几个不同页面里,很多人找不到是因为入口藏得深。主入口是微软的评估中心页面,里面按版本列出 SQL Server 2017、2019、2022 的 Evaluation 版本下载;另一个入口是下载中心页面,主要放 Service Pack、累积更新和部分工具;还有一个入口是 Express 专属页面,用于下载 Express 和 LocalDB 安装包。搞清楚这三个入口的分工,就成功了一半。
| 入口 | 放什么 | 适合谁 |
|---|---|---|
| 评估中心 | 企业版/标准版 Evaluation 镜像 | 做功能验证、临时开发环境 |
| 下载中心 | SP、CU 补丁、工具、部分安装包 | 已有实例需要打补丁 |
| Express 页面 | Express、LocalDB 安装包 | 学习、小型应用、单机部署 |
需要说明的是,Evaluation 版本功能上对标 Enterprise,但只有 180 天使用期。如果你是想长期跑生产,就得另想办法获取正式授权版本,这个后面讲老版本时会提到。
2.2 Evaluation、Developer、Express:三种形态怎么选
很多第一次接触 SQL Server 的人会被这三个名字绕晕。简单区分一下:Evaluation 是企业版的全功能评估版,适合短期测试;Developer 是开发人员用的,功能等同企业版,但授权条款禁止用于生产环境,好处是免费且长期有效;Express 是入门级免费版,功能裁剪较多,默认没有 SQL Server Agent,数据库大小限制在 10GB 以内。
选型的逻辑很简单。如果你只是学习 T-SQL 和写应用代码,装 Developer 版就够了,功能全、无时间限制,这是官方明确允许的。如果你在帮一个小公司做内部工具,数据库不大且没有运维预算,Express 是合法且零成本的方案。如果你要压测高并发或者验证 AlwaysOn 等企业特性,装 Evaluation 然后做好到期前换正式版的计划。我自己测试环境一律用 Developer,给客户搭演示环境则根据场景选 Evaluation 或 Express。
2.3 查看已安装版本的准确方法
下载之前先确认你本地是不是已经存在 SQL Server 实例,避免装成一个尴尬的版本集合。在命令行或 PowerShell 里执行下面这段,可以拿到完整的版本号和适用平台。
SELECT SERVERPROPERTY('ProductVersion') AS ProductVersion, SERVERPROPERTY('Edition') AS Edition, SERVERPROPERTY('ProductLevel') AS ProductLevel, SERVERPROPERTY('InstanceName') AS InstanceName;逻辑说明:SERVERPROPERTY 是 SQL Server 内置的系统函数,不需要人工去读注册表。ProductVersion 返回如 15.0.2000.5 这样的字符串,前两位 15 对应 SQL Server 2019,14 对应 2017,16 对应 2022。Edition 返回 Standard/Enterprise/Express/Developer 等版本类型。ProductLevel 返回 RTM/SPx/CUx,用于判断补丁等级。
参数说明:在 SSMS 里新建查询窗口执行即可,不用指定数据库上下文,因为 SERVERPROPERTY 是实例级函数。如果返回空,说明当前连接没有可用实例,或者你连的是 Azure SQL 而不是本地实例。
3. 各版本安装介质获取实操:从 2022 到 2012 的完整路径
3.1 最新版本随手可得
SQL Server 2022 和 2019 的安装镜像在官方评估中心就能拿到,流程几乎没有门槛。进入评估中心的 SQL Server 页面后,选择你要的版本和安装介质,点击继续就会生成一个下载链接,同时会要求你填写一些基本信息,填完即可下载。镜像文件是 ISO 格式,Windows 下可以直接挂载。
下载后用 PowerShell 做一次哈希校验是值得养成的习惯,防止镜像在传输过程中损坏。官方页面通常会提供 SHA256 值,你本地计算后比对一致再开始安装。
Get-FileHash .\SQLServer2022-x64-ENU.iso -Algorithm SHA256逻辑说明:Get-FileHash 是 PowerShell 内置命令,对指定文件计算哈希值。命令运行后会输出一个 64 位的十六进制字符串,把它和官网页面列出的 SHA256 值做比对。如果一致,说明文件完整;不一致就需要重新下载,不能用这个镜像装生产环境。
参数说明:路径要写对,如果文件在 C 盘下载目录,就用 .\SQLServer2022-x64-ENU.iso,或者直接拖拽文件到命令行窗口自动填充路径。SHA256 比 MD5 更安全,微软官方现在只提供 SHA256,没必要再算 MD5。
3.2 老版本是重灾区:2016、2014、2012、2008 R2 去哪找
老版本的问题比新版本麻烦得多。微软已经停止了对 SQL Server 2016 及更早版本的主流支持,下载页面要么被合并,要么需要从存档目录进入。常见做法是:先进入微软下载中心,搜索产品名称加版本号,比如“SQL Server 2016 with Service Pack 2”,然后在结果里找对应的安装介质链接。
这里有个关键点:微软把老版本的安装介质和补丁分开了。你找到一个版本为 2016 SP2 的镜像,装完后还需要手动安装后续累积更新;而如果你找到的是基础 RTM 镜像,则需要先装 SP 再装 CU。这和多版本补丁的管理方式有关,特别是 2012 和 2008 R2 年代,SP 和 CU 分开发布的习惯延续了很久。
实操路径是这样的:访问微软下载中心搜索 SQL Server 2012,找到“SQL Server 2012 SP4”这个条目,下载的镜像已经包含了 SP4,装完即可,不需要再打补丁。要注意的是,所有老版本下载页面现在都要求用微软账号登录才能看到实际下载链接。另外,老版本镜像不支持在较新操作系统上直接安装的情况也时有发生。比如 SQL Server 2008 R2 装到 Windows Server 2016 上,需要在安装程序上右键选择属性,在兼容性选项卡里勾选“以兼容模式运行”,否则安装向导可能无法启动。这个属于典型的血泪经验,先记下来。
3.3 用 SQL Server 安装中心做版本选择和功能裁剪
下载完镜像后,挂载 ISO,双击运行 setup.exe,会进入 SQL Server 安装中心。不要急着点“全新安装”,先看左侧菜单里的“规划”和“安装”两个页面。规划页面里有系统配置检查器,先跑一遍,确认当前系统满足磁盘空间、内存、操作系统版本等要求。这里翻车的场景不少:有些系统缺 .NET Framework 3.5,安装向导会直接中断,因为 2016 及更早版本的安装程序依赖这个组件。
在“安装”页面选择“全新 SQL Server 独立安装或向现有安装添加功能”,之后进入功能选择步骤。这里我一般只选 Database Engine Services 和客户端工具连接组件,除非确实需要 SSIS、SSRS 或 Analysis Services,否则不装。功能越少,攻击面越小,日常维护也省心。安装模式选择“默认实例”或者指定命名实例时,注意实例名不要用中文和特殊字符,否则后续连接字符串会非常被动。
3.4 下载链接失效时的备用渠道:从补丁包拆出安装介质
我们模拟项目X中遇到过一种特殊情况:某个老版本的完整 ISO 在官网已经找不到下载入口,只保留了最新的 Service Pack 补丁包。这时候有个可行方案:先下载带 SP 的补丁包,再找一个对应版本的基础镜像,两者结合实现完整安装。
具体做法是用博客园或社区镜像站下载基础 RTM 镜像,这一步没有官方入口,所以合法性要自己把握,我只建议在没有其他选择时才用。更稳妥的路径是:如果你所在公司有微软企业协议,可以从批量许可服务中心下载到几乎全版本的全语言镜像,包括 2008 R2 到 2022 的每一种组合。这是正规渠道里最全的下载入口,适合企业用户。个人开发者没有批量许可账号,就只能依赖评估中心、下载中心和 MSDN 订阅通道。MSDN 订阅用户可以在订阅者下载页面找到全部历史版本,这是个人开发者拿到老版本安装介质最可靠的途径。
4. 用可复现命令安装 SQL Server Express:最小方案
4.1 命令行静默安装的完整示例
Express 是很多人的第一套 SQL Server,把它装好并连通的流程值得完整走一遍。用命令行静默安装有两个好处:参数可留存为脚本反复使用,也方便在无人值守环境下部署。下面是安装 SQL Server Express 2022 的最小命令序列。
E:\SQL2022Express\x64\setup.exe /IACCEPTSQLSERVERLICENSETERMS /Q /ACTION=Install /FEATURES=SQLENGINE /INSTANCENAME=SQLEXPRESS /SQLSYSADMINACCOUNTS="BUILTIN\Administrators" /TCPENABLED=1 /SECURITYMODE=SQL /SQLUSERDBDIR="D:\SQLData" /SQLUSERDBLOGDIR="D:\SQLLog"逻辑说明:/IACCEPTSQLSERVERLICETERMS 表示接受许可条款,静默安装必须显式声明。/Q 表示完全静默,不弹出任何界面。/FEATURES=SQLENGINE 指定只装数据库引擎,不装 SSMS、SSRS 等组件。/INSTANCENAME=SQLEXPRESS 指定实例名为默认的 SQLEXPRESS,如果本机已有 SQLEXPRESS 实例再需要一套新的,可以改成 SQLTEST 之类的名字。
参数说明:/SQLSYSADMINACCOUNTS 指定 Windows 账户为系统管理员,默认填 BUILTIN\Administrators 可以把本机管理员组映射到 sysadmin 角色,避免装完登录不进实例的尴尬。/TCPENABLED=1 启用 TCP/IP 协议,这一步非常重要,默认安装下 SQL Server Express 的 TCP/IP 可能是禁用的,导致局域网内其他机器连不上。/SECURITYMODE=SQL 启用混合验证模式,即可以使用 sa 账号以 SQL 身份登录;如果不加这个参数,仅 Windows 身份验证可用。文件目录参数可以自定义,建议把数据库文件放到 D 盘而不是系统盘,方便备份和防止系统盘占满。
4.2 安装后的本地连接验证与端口确认
安装脚本跑完后,等 3 到 5 分钟让服务完成自举,然后用 sqlcmd 做一次连通性验证。sqlcmd 不一定在 PATH 里,如果你是默认安装,它通常在 C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn 目录下。
"C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\sqlcmd.exe" -S .\SQLEXPRESS -E -Q "SELECT @@VERSION"逻辑说明:-S 指定服务器实例名,.\SQLEXPRESS 表示本机默认实例名 SQLEXPRESS,如果装了命名实例 SQLTEST,就写成 .\SQLTEST。-E 表示使用 Windows 身份验证,不需要用户密码。-Q 执行一条查询然后退出。SELECT @@VERSION 是 T-SQL 内置变量,返回完整的版本字符串和系统信息,可以用来确认安装结果和版本号。
参数说明:路径按实际安装目录调整,也可以用 where sqlcmd 先找到它的位置,再把完整路径复制进去。如果不想每次敲完整路径,把 Binn 目录加到系统 PATH 环境变量即可,但加之前要确认机器上只有一个版本的 sqlcmd,否则容易发生版本混乱调用错文件的情况。
4.3 连接字符串与防火墙放行的配置
装好只是第一步,应用中连接它才是目的。常见的连接字符串写法如下。
string connectionString = "Server=192.168.1.100\\SQLEXPRESS;Database=TestDB;User Id=sa;Password=YourPassword;TrustServerCertificate=True;";逻辑说明:Server 参数里反斜杠前的 IP 是目标机器地址,反斜杠后是实例名。如果 SQL Server 和应用程序装在同一台机器,Server 可以写成 localhost\SQLEXPRESS。TrustServerCertificate=True 是较新驱动的要求,因为 SQL Server 默认自签名证书不受客户端信任,不加这个参数会报证书链验证失败。
参数说明:User Id=sa 要求安装时开启了混合验证模式,否则 sa 账号不存在。密码复杂度要满足 SQL Server 强密码策略。如果连接失败,首先在目标机器上执行 netstat -ano | findstr 1433 确认 SQL Server 是否在监听 1433 端口;如果没监听,多半是 TCP/IP 协议没有启用,需要在 SQL Server 配置管理器里把 TCP/IP 协议状态改为已启用并重启 SQL Server 服务。默认端口是 1433,如果因为端口冲突改过,连接字符串里要写成 Server=IP\实例名,端口号。
防火墙放行也常踩:Windows 防火墙默认阻止外部访问 1433 端口,需要在高级安全防火墙里新建入站规则,开放 TCP 1433。有些环境的网络策略还要求只允许特定来源 IP 访问,那就在防火墙规则的“作用域”选项卡里限制远程 IP 地址范围,不要直接放行所有来源。
5. SQL Server 版本下载避坑:4 个常见问题与排查
5.1 Evaluation 镜像到期后实例无法启动
现象:安装的 Evaluation 版本在使用 180 天后,SQL Server 服务启动失败,错误日志提示评估期已结束。原因:评估版的授权截止日期存储在注册表中,到期后数据库引擎会被锁定。解决:在到期前进入 SQL Server 安装中心选择“维护”下的“版本升级”,输入正式版产品密钥即可。如果已经到期,安装中心的版本升级入口可能无法启动,这时用命令行方式执行 setup.exe /ACTION=EditionUpgrade /PID=正式密钥 可以绕开界面限制。血泪经验:评估版只能升级到比你当前版本更高的授权级别,不能反向降级。
5.2 最新版镜像装不上老 Windows 系统
现象:SQL Server 2022 的安装程序在 Windows Server 2012 R2 上直接报错,提示系统版本不受支持。原因:2022 要求的操作系统最低版本是 Windows Server 2016 或 Windows 10,老系统不在支持列表内。解决:更换操作系统或者选择老版本 SQL Server。这种情况在维护老旧服务器时经常碰到,建议先确认操作系统和 SQL Server 的匹配关系再下载镜像。
5.3 Developer 版被当成免费生产版使用
现象:某公司用 Developer 版跑了一个内部业务系统,运行数月后被微软扫描工具发现,收到合规警告。原因:Developer 版确实免费,但许可协议明确规定仅限开发和测试场景,不允许生产环境。解决:生产需求买标准版授权,预算不足且业务量小的场景选 Express 版顶住。这条踩坑的高频程度超出想象,很多小团队默认 Developer 等于免费版,实际上协议写得很清楚。
5.4 下载了英文版镜像才发现需要中文版
现象:装完才发现实例的排序规则是 SQL_Latin1_General_CP1_CI_AS,中文环境下字符串比较结果不符合预期,比如“张”和“章”的排序混乱。原因:下载时没有注意语言版本,默认选了英文镜像。解决:在评估中心页面选择“Chinese Simplified”语言后再下载,安装时排序规则选择 Chinese_PRC_CI_AS。如果已经装完,只能在安装中心里通过维护操作修改实例级排序规则,但数据库内已存在的字符串索引不会自动重新构建,数据量大时会很麻烦。下载前花十秒确认语言版本,比装完再折腾划算得多。
6. 进阶技巧:用校验和与兼容模式对付下载后的疑难杂症
6.1 一次性校验多个镜像文件的完整性
如果你需要批量下载多个版本的镜像,手工逐个比对哈希值效率太低。我习惯把 ISO 文件放在同一个目录,再用一段 PowerShell 脚本批量计算并和官方值比对。
$files = Get-ChildItem -Path "D:\SQLISO" -Filter *.iso foreach ($f in $files) { $hash = Get-FileHash $f.FullName -Algorithm SHA256 Write-Host "$($f.Name): $($hash.Hash)" }逻辑说明:Get-ChildItem 枚举目标目录下所有 ISO 文件,foreach 逐个计算 SHA256 并输出文件名和哈希值。输出的哈希值拿去和官方页面逐条比对即可。这样批量下载完一次性校验,比下载一个校验一个省力。
参数说明:路径 D:\SQLISO 按实际情况改。如果你同时有多个散列方式的需求,把 -Algorithm 改成 MD5 或者 -Algorithm SHA1 也行,但官方只提供 SHA256,所以不必换。
6.2 用兼容模式解决老版本安装程序启动失败
SQL Server 2012 和更早版本的安装程序在 Windows 10 或 Windows Server 2016 以上环境经常出现 setup.exe 双击没反应或者闪退的现象。原因是老版本安装程序检测到未知操作系统版本后中止。常见做法是在 setup.exe 文件上右键、属性、兼容性选项卡,勾选“以兼容模式运行”,然后在下拉框里选择 Windows 7 或者 Windows Server 2008 R2 的兼容模式。该方法能解决大部分启动问题,但如果你在安装过程中遇到更多问题,也可以把安装向导里“系统配置检查”步骤产生的日志文件翻出来看:日志通常在 C:\Program Files\Microsoft SQL Server\140\Setup Bootstrap\Log 目录下,文件名类似 Summary.txt 汇总信息。这个路径在 SQL Server 2016 是 130,2017 是 140,2019 是 150,2022 是 160,按实际环境打开即可。老版本安装的问题大多数都能从日志里定位到根本原因,不能乱试。
我自己处理过一台 2008 R2 镜像装 Windows Server 2016 的情况,就是靠兼容模式加日志定位解决的。SQL Server 版本下载这件事,看似几分钟的流程,实际上因为官方入口分散、版本停更、补丁交织,坑比想象中多。把渠道和校验习惯建立起来之后,后面每次部署都是流水线操作。本文给出的方法我都实际验证过,希望帮到你。
本文还有配套的精品资源,点击获取