SQL Server 2012 安装与启动:常见问题排查与配置指南
2026/9/18 19:42:42 网站建设 项目流程

简介:这份 PDF 是一份面向数据库初学者的 SQL Server 2012 安装与启动图文指南,解决从零搭建数据库环境和首次连接管理的常见困惑。教程实测于 Win7 企业版 64 位与 Win10 专业版 64 位,安装环节从功能勾选“全部”讲起,重点说明了数据库引擎的混合模式认证、sa 密码设置,以及安装过程中多个界面都要执行的“添加当前用户”管理员配置,并对安装周期较长给出耐心等待的提示;对安装过程中多次出现的“添加 SQL Server 管理员”界面,也统一说明了选择“添加当前用户”即可。启动环节围绕 SQL Server Management Studio 展开,说明 Server name 填“.”即可连接本机,并对比 Windows 身份验证与 SQL Server 身份验证两种登录方式的适用场景;同时补充了如果安装时未选混合模式,如何在服务器属性中修改为混合登录、在 sa 属性中允许 SQL Server 认证的完整处理思路。内容不绕弯、不堆原理,重点关注操作细节和常见坑点,按图操作即可减少无效尝试。资源为 1 个 PDF 文件(291KB),全程配图文并茂、步骤直观,适合上课与自学时边看边操作,也可作为安装后配置排错的小型手册;已有 4586 人下载学习,对于入门 SQL Server 2012 的读者而言,是一份轻量而实用的参考资料。

1. SQL Server 2012 安装与启动的常见误区

很多人在安装 SQL Server 2012 时觉得只要一路“下一步”就能结束,等到连接数据库才发现服务没启动、端口不通或者 SA 账号被锁定。SQL Server 2012 虽然是老版本,但现在仍有大量生产环境在运行,很多运维接手旧系统时都要重新在一台干净服务器上把这套环境拉起来。问题通常不在安装向导本身,而在安装前的系统准备、安装过程中的实例配置、安装完成后的服务启动路径这三段上。这篇内容按“装之前要看什么、装的时候选什么、装完怎么启动、启动失败怎么查”来展开,适合第一次装的开发者也适合要批量部署的运维。

2. 安装 SQL Server 2012 前的系统与介质准备

2.1 先从介质类型判断要装哪个版本

SQL Server 2012 的安装介质常见的有 ISO 镜像、解压后的 Setup.exe 目录、以及从批量授权渠道拿到的压缩包。拿到手先看目录下有没有setup.exe,有的话直接双击,没有的话通常是挂载 ISO 后没有自动运行,手动进入根目录再执行。关于 sql server安装包2012 这个关键词,需要区分的是评估版(Evaluation)、标准版(Standard)和企业版(Enterprise)三种介质。评估版只适合临时测试,安装后 180 天到期,无法平滑升级授权版本,生产环境不要用。

企业内部最常见的做法是部署标准版,功能上涵盖数据库引擎、SSIS、SSRS 的基础能力。如果只需要存数据、跑 SQL 作业、做基本备份恢复,标准版完全够用。若涉及 AlwaysOn 可用性组的高级功能、在线索引重建等能力,企业版才需要。安装前要和采购或 DBA 确认手上 License 对应的版本,然后用匹配的介质安装,避免装完发现功能超出授权范围。

2.2 Windows 版本与 .NET Framework 的适配问题

SQL Server 2012 官方支持 Windows Server 2008 R2 SP1 以上、Windows 7 SP1 以上、Windows Server 2012 等系统。实际部署中常见的问题是:在一台较新的 Windows Server 2016 或 2019 上装 SQL Server 2012,安装向导会在检查阶段提示缺少 .NET Framework 3.5 SP1。这不是 SQL Server 本身的问题,而是新版 Windows 默认没有启用 .NET 3.5 功能,需要先装好再运行安装程序。

Install-WindowsFeature NET-Framework-Features -Source C:\Sources\SxS

这条命令通常用于离线启用 .NET 3.5,-Source参数指向 Windows 安装介质中的sxs目录。如果服务器能联网,直接运行Install-WindowsFeature NET-Framework-Features即可从 Windows Update 拉取。安装完成后可以用Get-WindowsFeature NET-Framework-Features确认状态。

2.3 磁盘目录规划不只是 C 盘空间

安装目录默认放在C:\Program Files\Microsoft SQL Server\下,但这个默认路径对生产环境来说不够理想。至少要把数据文件目录和日志文件目录分开放在不同物理磁盘上,常见规划如下:

内容推荐路径说明
系统数据库D:\SQLData\Systemmaster、model、msdb、tempdb
用户数据库E:\SQLData\UserData按业务库再分子目录
日志文件F:\SQLLog\UserLog与数据文件物理隔离
备份文件G:\SQLBackup不在安装时配置,装完单独设置

安装向导的“实例功能”界面中有“数据根目录”和“用户数据库目录”等可修改项,不修改的话后续所有库都会落在 C 盘。临时测试环境无所谓,但生产库日志增长快,C 盘被写满是最常见的启动失败原因之一:日志文件写不进去,服务直接崩溃。

3. 图形化安装向导中的关键界面与选项

3.1 安装中心的功能选择与实例配置

启动setup.exe后先出现“SQL Server 安装中心”页面,里面有“全新安装或向现有安装添加功能”等入口。这里不要选“从 SQL Server 2000/2005 升级”,因为这是全新环境。进入安装后第一个真正影响结果的界面是“功能选择”,这里建议只勾选需要的组件,不要全选。数据库引擎服务是必选,客户端工具连接组件尽量勾上,SSMS 在这一版中需要单独安装,不在安装向导内。

功能选择完成后进入“实例配置”,这一步有默认实例和命名实例两种选项。默认实例的实例名为 MSSQLSERVER,连接时直接用服务器 IP 或主机名即可,端口固定为 1433。命名实例的连接方式则要写成主机名\实例名,例如WIN-DB01\SQLEXPRESS,并且端口通常不是 1433,而是由 SQL Server Browser 服务动态分配。若不确定用哪种,测试环境选默认实例少很多麻烦,生产环境一台机器要跑多套 SQL Server 才需要命名实例。

3.2 服务账户与排序规则的推荐配置

“服务器配置”页中要分别为 SQL Server 数据库引擎、SQL Server Agent、SQL Server Browser 等服务设置启动账户。常见做法是使用独立的域账户或本地最小权限账户,不要直接使用 SYSTEM 账户。密码不要留空,SQL Server 服务账户的密码变更后必须手动更新对应服务的登录凭据,否则下次重启就起不来。

SQL Server 数据库引擎: NT Service\MSSQLSERVER SQL Server Agent: NT Service\SQLAgent$实例名 SQL Server Browser: NT Service\MSSQLFDLauncher

开发测试机可以直接用NT Service内置账户,但要注意这类账户的权限被锁定在某些目录。生产环境我一般会预先建一个本地用户,把数据目录、日志目录、备份目录的写权限全部授予这个用户,再把它填到服务账户位置。排序规则默认选择SQL_Latin1_General_CP1_CI_AS,如果存中文数据建议保持默认,不要随便改成 Chinese_PRC 系列,字符集变更影响后续字段比较、索引重建、数据库迁移,牵一发动全身。

3.3 身份验证模式与 SA 密码强度

“数据库引擎配置”界面中选择 Windows 身份验证模式还是混合模式。Windows 身份验证模式下只能通过域账号或本地账户登录 SQL Server,而混合模式额外允许 SQL Server 自身的账号登录。从运维视角看,如果这台数据库只给内部系统连接,Windows 身份验证更稳妥;如果需要外部客户端用 SA 或自建账号连接,例如一些老旧的第三方软件只认识 SQL 账号,那只能选混合模式。

密码强度要求在这里体现得很直接。SA 密码少于 8 位、纯数字等都会被安装向导拦截。安装完成后验证密码策略:

-- 查看 SA 账号当前状态与密码策略 SELECT name, is_policy_checked, is_expiration_checked FROM sys.sql_logins WHERE name = 'sa';

如果is_policy_checked为 1,说明该账号受 Windows 密码策略约束。SQL Server 2012 的默认密码策略相对严格,当然后续也可以调整。

3.4 安装完成后的最小验证命令

安装向导走完“准备安装”并显示“安装完成”后,不是马上就能连,先做一个服务状态验证。以及确认安装的组件版本:

sc query MSSQLSERVER

输出中STATE显示RUNNING时说明服务起来了。这里MSSQLSERVER是默认实例的服务名,如果是命名实例要写成MSSQL$实例名。再通过命令行登录验证:

sqlcmd -S localhost -E -Q "SELECT @@VERSION"

-E表示使用 Windows 身份验证,-Q执行查询后立即退出。这条验证能同时证明服务可用、网络协议可用、权限正确。如果sqlcmd不在系统 PATH 中,可以到C:\Program Files\Microsoft SQL Server\110\Tools\Binn下找。

4. 启动 SQL Server 服务的完整操作路径

4.1 从 Windows 服务和 SQL Server 配置管理器两个入口启动

SQL Server 2012 安装完成后默认把服务的启动类型设置为“自动”,但实际重启服务器后有时会看到服务处于“正在启动”状态但连不上。这时不要反复重启服务器,先打开“服务”管理单元,找到SQL Server (MSSQLSERVER)SQL Server Agent (MSSQLSERVER),确认状态。如果服务没有自动启动,手动点击“启动”按钮,观察是否报错。

更推荐用 SQL Server 配置管理器来进行日常启停操作,它在“Microsoft SQL Server 2012”程序组中。配置管理器不仅能启停服务,还能查看“SQL Server 网络配置”里 TCP/IP、命名管道是否启用。

Get-Service | Where-Object { $_.Name -like 'MSSQL*' -or $_.DisplayName -like '*SQL*' }

上述 PowerShell 命令可以查到与 SQL Server 相关的所有服务及其状态,适合在排查环境中快速定位异常服务。

4.2 开启 TCP/IP 协议与设置固定端口 1433

SQL Server 2012 安装之后默认未必启用 TCP/IP 协议,更多时候是“共享内存”协议先启用,这会导致本机 sqlcmd 能连、远程工具死活连不上。打开 SQL Server 配置管理器,点击左侧“SQL Server 网络配置”展开实例,右键点击“TCP/IP”选择“启用”,这时会要求重启服务。

只开启协议还不够,建议把动态端口固定下来。右键“TCP/IP”属性,进入“IP 地址”选项卡,滑动到最下方的IPAll,清空“TCP 动态端口”值,同时在“TCP 端口”填入1433。设置完成后重启服务,再用netstat验证监听端口:

netstat -ano | findstr 1433

输出中如果出现TCP 0.0.0.0:1433 LISTENING说明已经监听在所有网络接口上。-a显示所有连接和监听端口,-n用数字形式显示地址和端口,-o显示对应进程 PID,随后可以用tasklist配合 PID 确认是sqlservr.exe进程。

4.3 SQL Server Browser 服务到底开不开

SQL Server Browser 负责将命名实例的名称解析到实际端口。如果只使用默认实例且端口固定为 1433,Browser 可以关闭,不影响连接。但使用命名实例或端口不固定时,必须让 Browser 运行,并同时保持防火墙允许 UDP 1434 端口。一个常见误区是开着 SQL Browser 却在防火墙中只放行了 TCP 1433,结果本机连接正常,远程报“在建立与服务器的连接时出错”。

4.4 安装后首次启动失败的典型表现

很多情况显示服务无法启动。常见的表现是:服务管理器中点击启动后,状态从“正在启动”变回“已停止”,没有具体错误弹窗。此时最快的排查路径是查看 Windows 应用程序日志,过滤MSSQLSERVER来源的错误事件,几乎每条错误都会指向一个错误日志文件位置。SQL Server 自身的错误日志存放在实例的LOG目录下,默认路径为C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Log\ERRORLOG,用文本编辑器打开后看到Error: XXXX格式的错误码,按错误码去查比盲目重启有效得多。

5. SQL Server 2012 服务启动失败的关键排查技巧

5.1 服务起不来时先看这些信息再动手

先区分是“服务无法启动”还是“服务启动后连接被拒”,这两种状态的处理方向完全不同。服务无法启动时,Windows 事件查看器的系统日志中会记录服务超时或依赖服务失败;连接被拒则往往表现为服务在运行但端口未监听。逐个检查需要确认的清单如下:

检查项预期值不匹配时的处理办法
sc query MSSQLSERVERSTATE 为 RUNNING查 ERRORLOG 文件
1433 端口监听netstat 有 LISTENING启用 TCP/IP 并固定端口
SQL Browser 服务状态命名实例依赖它启动 Browser 并放行 UDP 1434
防火墙入站规则允许 TCP 1433新增规则,范围限定服务器网段
数据/日志目录权限服务账户可写检查目录 ACL

5.2 使用单用户模式绕过登录失败

当 sa 密码遗忘或误被禁用导致无法登录时,很多人会考虑重装。其实不需要,SQL Server 2012 支持通过单用户模式启动数据库引擎来修复登录问题。先停止 SQL Server 服务,然后在命令行中以前台方式启动单用户模式:

net stop MSSQLSERVER net start MSSQLSERVER /f /m"SQLCMD"

/m"SQLCMD"限制了单用户模式下只允许sqlcmd连接,防止其他客户端抢占唯一个连接。启动后另开一个命令行窗口执行:

sqlcmd -S localhost -E -Q "ALTER LOGIN sa WITH PASSWORD='NewStrongPass@123';"

执行成功后关闭窗口再net stop停止服务,之后用正常方式启动服务,此时 SA 密码已重置。注意单用户模式只在排查时使用,执行完恢复操作后必须重启服务回到正常模式。

5.3 启动版本的常见失败与配置合并

以下几种情况在旧系统迁移时经常出现:安装后无法启动,伴随错误日志中多次重复写入Could not find the specified module信息,多数与文件夹权限缺失相关;再如切换启动模式时服务启动失败,并提示Login failed for user 'sa'的问题。实际上这里最容易遗漏的是 SQL Server 默认对sa账号做了禁用处理,安装过程中设置的口令并未完全生效。可以先通过 Windows 身份验证登录系统库后启用账号:

EXEC sp_configure 'show advanced options', 1; RECONFIGURE; ALTER LOGIN sa ENABLE;

执行顺序是先开放高级选项,再启用 sa 账号。启用后建议立刻改一次强密码,并确保混合验证模式已在安装向导中开启。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询