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

资讯详情

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

SQL Server 2019 安装配置全指南:从规划部署到避坑实战

SQL Server 2019 安装配置全指南:从规划部署到避坑实战 1. 项目概述为什么需要一个清晰的安装手册如果你是一名开发者、运维工程师或者正准备搭建一个内部业务系统的技术负责人那么“安装SQL Server”这件事大概率是你绕不开的一个环节。表面上看这只是一个下载安装包、点击“下一步”的过程但实际干过的人都知道从选择版本、规划路径、配置实例到处理安装过程中层出不穷的报错每一步都可能藏着“坑”。网上能找到的教程很多但要么过于简略要么版本老旧遇到具体问题还是得四处搜罗、试错耗费大量时间。我处理过太多因为安装配置不当导致的后续问题数据库服务莫名停止、远程连接不上、权限混乱、甚至是安装中途失败导致系统环境被污染不得不重装系统。所以这份手册的目的不仅仅是告诉你点击哪里更重要的是拆解每个选项背后的含义预判可能遇到的问题并提供经过验证的解决方案。无论是为了本地开发测试还是搭建生产环境一个稳固的起点至关重要。接下来我会以SQL Server 2019 Developer版本在Windows Server 2019上的安装为例贯穿整个流程但其中90%的原理和避坑点同样适用于2016、2017、2022等主流版本。2. 安装前的核心规划与资源准备盲目开始安装是失败的主要原因。在双击安装程序之前我们必须像规划一次小型部署一样明确目标、清点资源。2.1 版本选择开发、标准与企业版的本质区别很多人直接搜索“SQL Server下载”然后下载第一个链接这很容易出错。首先你需要根据使用场景选择正确的版本Developer版功能上与企业版完全一致但仅限用于开发、测试和演示不能用于生产环境。对于个人学习、项目开发和测试服务器这是首选因为它免费且功能齐全。Express版免费且可用于生产环境但有严格的限制每个实例最大使用1个CPU插槽、1.4GB内存数据库大小上限为10GB。适用于小型网站、桌面应用程序或移动应用程序。Standard版和Enterprise版需付费购买许可用于正式的生产环境。两者在性能、高可用性、安全功能上有显著差异。对于本手册我们选择SQL Server 2019 Developer版本因为它能让我们在非生产环境中体验全部功能。你可以通过微软官网或Visual Studio订阅者门户下载。2.2 系统与环境检查清单安装失败往往源于环境不满足要求。请务必逐项核对操作系统确保是受支持的系统。例如SQL Server 2019需要Windows 10/11 或 Windows Server 2016及以上。对于服务器环境务必使用Server版本而非桌面版。硬件资源内存至少4GB建议8GB或以上。SQL Server对内存需求较大尤其是在运行复杂查询或作为业务核心时。磁盘空间安装程序本身需要约6GB但你需要为数据文件、日志文件、备份文件预留充足空间。系统盘通常是C盘至少保留10GB可用空间并规划一个独立的、速度较快的磁盘如D盘用于存放数据库文件这对性能至关重要。CPU现代多核处理器即可。开发测试对CPU要求不高。软件依赖.NET FrameworkSQL Server 2019需要.NET Framework 4.6或更高版本。安装程序通常会帮你安装但提前安装好可以避免潜在问题。Windows PowerShell确保版本为2.0或更高这是安装程序所需。网络服务如果计划远程连接需要确保Windows防火墙放行了相应的端口默认1433。账户权限使用具有本地管理员权限的账户运行安装程序。这是很多安装步骤报错的根源。2.3 安装包获取与验证从微软官方渠道下载ISO镜像或安装程序包。下载完成后建议校验文件哈希值如SHA256确保文件在下载过程中未损坏。对于ISO文件可以使用虚拟光驱加载或直接解压。注意尽量避免从第三方不明站点下载以防捆绑恶意软件或安装包被篡改。3. 分步安装详解与关键配置解析现在我们进入核心的安装环节。我将把图形化安装界面中的每一个关键步骤拆开解释其作用并给出推荐配置。3.1 启动安装与功能选择运行安装程序根目录下的setup.exe。在“安装”选项卡中选择“全新SQL Server独立安装或向现有安装添加功能”。产品密钥与许可条款对于Developer版通常选择“指定可用版本”并选择“Developer”或者直接输入开发版密钥。阅读并接受许可条款。全局规则检查安装程序会自动运行一些规则检查如重启挂起、WMI服务状态等。如有失败项必须根据提示解决后才能继续。常见的“重启挂起”问题通常是因为之前有未完成的Windows更新安装按要求重启即可。功能选择这是第一个决策点。勾选你需要的功能。数据库引擎服务核心必选提供了存储、处理和保护数据的核心服务。SQL Server复制如果需要在数据库间复制和分发数据则勾选。全文搜索和语义提取用于对字符数据进行高级搜索非必需。机器学习服务数据库内用于在SQL Server内运行Python或R脚本按需选择。客户端工具连接建议勾选它包含了用于连接和管理SQL Server的核心组件。Integration Services用于构建高性能数据集成和工作流解决方案如ETL包。客户端工具向后兼容性为了兼容旧版工具通常不选。客户端工具SDK开发人员工具非必需。管理工具-基本/完整强烈建议勾选“管理工具-完整”。它包含了SQL Server Management Studio (SSMS)这是最主要的图形化管理工具。虽然SSMS可以事后单独安装但一并安装更省事。对于大多数开发和测试场景我的建议是数据库引擎服务 客户端工具连接 管理工具-完整。这构成了一个最小可用且便于管理的环境。3.2 实例配置命名与路径规划实例是SQL Server的一个独立运行环境。一台服务器上可以安装多个实例。默认实例与命名实例默认实例实例名即为计算机名。一个服务器只能有一个默认实例。连接时使用计算机名即可。适用于单实例场景。命名实例你需要指定一个实例名如SQL2019DEV。连接时需要指定计算机名\实例名。适用于一台服务器部署多个SQL Server的场景。选择建议如果这是服务器上唯一的SQL Server或者你需要最简单的连接方式很多旧应用只认默认实例就选默认实例。如果需要隔离比如一个给测试一个给生产或者已有默认实例则必须使用命名实例。这里我们假设选择“默认实例”。实例根目录强烈建议修改默认路径。默认路径在C盘随着数据增长会挤占系统盘空间影响系统性能和稳定性。将其修改到你有充足空间的非系统盘例如D:\Program Files\Microsoft SQL Server。共享功能目录同样建议修改到非系统盘如D:\Program Files (x86)\Microsoft SQL Server。这对应着热搜词中“sqlserver 2016 安装时如何修改共享功能目录”的问题修改方法就是在此界面操作。3.3 服务器配置服务账户与启动类型此页面配置SQL Server各项服务运行时所使用的账户和启动类型。服务账户SQL Server数据库引擎生产环境建议使用专门的域账户或本地虚拟账户如NT Service\MSSQLSERVER。对于开发测试环境为了方便可以暂时使用“内置账户”中的Local System或Network Service。但需知Local System权限过高。SQL Server代理用于安排作业、警报等。同样配置即可。建议开发环境可直接使用默认的虚拟账户如NT Service\MSSQLSERVER这是最安全简单的选择。启动类型SQL Server数据库引擎设置为“自动”确保服务器重启后数据库服务能自动启动。SQL Server代理开发环境可以设为“手动”需要时再启动。生产环境通常设为“自动”。3.4 数据库引擎配置安全与目录这是最重要的配置环节直接关系到后续的访问安全和数据存储。身份验证模式Windows身份验证模式只允许使用Windows账户登录。更安全管理方便与AD集成。混合模式SQL Server身份验证和Windows身份验证对于开发和学习强烈建议选择此模式。它允许使用SQL Server自带的用户名密码登录如著名的sa账户。这给了你更大的灵活性尤其是在远程连接或某些开发框架配置时。指定SQL Server管理员你必须在此处添加至少一个管理员账户。如果你选择了混合模式这里必须为内置的sa账户设置一个强密码。同时点击“添加当前用户”按钮将你当前的Windows账户添加为管理员。这样你就拥有了双重管理权限。数据目录另一个关键规划点。这里设置各类文件的默认存储位置。数据根目录修改到你的数据盘如D:\SQLData。这将是所有用户数据库数据文件.mdf的默认存放地。日志目录同样修改到数据盘如D:\SQLLog。这是事务日志文件.ldf的默认存放地。备份目录设置为独立的路径如D:\SQLBackup。将备份文件与数据文件分开存储是良好的实践。TempDB目录TempDB是SQL Server的临时工作空间对性能极其敏感。如果条件允许可以将其指向一个更快的磁盘如SSD。至少也要将其从系统盘移出。3.5 完成安装与验证配置完成后安装程序会进行最后一次规则检查通过后即开始安装。安装过程可能持续10到30分钟取决于硬件性能。安装成功后建议立即重启服务器。验证安装是否成功打开SQL Server Management Studio (SSMS)。你可以在开始菜单中找到它。在“连接到服务器”对话框中服务器类型数据库引擎服务器名称如果是默认实例输入本机计算机名或localhost或.点号如果是命名实例输入计算机名\实例名。身份验证先尝试使用“Windows身份验证”连接。这可以验证Windows账户的权限是否生效。点击“连接”。如果成功你会看到对象资源管理器里面包含系统数据库和你的服务器实例。测试混合模式登录断开当前连接。再次打开连接对话框服务器名称不变。身份验证选择“SQL Server身份验证”。登录名输入sa密码输入你安装时设置的强密码。点击“连接”。成功则说明混合模式配置正确。4. 安装后必须进行的配置与优化安装成功只是第一步要让SQL Server稳定、安全、高效地运行还需要进行一系列配置。4.1 启用远程连接默认情况下SQL Server可能不允许远程连接。这是热搜中“远程连接服务器时密码正确提示第一次连接之前你必须更改密码”等问题的前提。使用SSMS以管理员身份连接。在对象资源管理器中右键点击服务器实例选择“属性”。在“安全性”页面确认“服务器身份验证”为“SQL Server和Windows身份验证模式”。在“连接”页面勾选“允许远程连接到此服务器”。更重要的一步是配置SQL Server配置管理器打开“SQL Server配置管理器”开始菜单中查找。展开“SQL Server网络配置”选择你的实例协议如“MSSQLSERVER的协议”。在右侧确保“TCP/IP”协议的状态是“已启用”。如果未启用右键点击选择“启用”。双击“TCP/IP”在弹出的属性窗口中切换到“IP地址”选项卡。滚动到最下方在“IPAll”部分确认“TCP端口”为1433默认。如果为空或有其他值请设置为1433。点击“确定”并重启SQL Server服务在SQL Server配置管理器的“SQL Server服务”中右键重启。配置Windows防火墙在Windows防火墙中添加入站规则允许端口1433TCP通行。4.2 配置SQL Server代理与维护计划SQL Server代理是自动化任务的核心。如果你需要定期备份、执行作业需要确保其运行正常。在SQL Server配置管理器中找到“SQL Server代理”服务将其启动类型改为“自动”并启动服务。在SSMS中对象资源管理器会出现“SQL Server代理”节点。你可以在这里创建“维护计划”例如创建一个每天凌晨自动备份数据库的计划。4.3 内存与处理器配置对于开发测试机通常无需调整。但对于资源有限的服务器适当限制SQL Server的内存使用可以防止它耗尽系统资源导致操作系统不稳定。在SSMS中右键服务器实例 - “属性” - “内存”。你可以设置“服务器内存选项”中的“最小服务器内存”和“最大服务器内存”。一个常见的经验法则是将“最大服务器内存”设置为物理内存的70%-80%为操作系统和其他应用预留空间。5. 高频问题排查与解决实录即使按照手册操作也可能遇到问题。这里汇总了安装和使用初期最常见的问题及解决方案。5.1 安装过程中的典型错误错误现象/代码可能原因解决方案安装程序支持规则失败如“重启挂起”系统有待处理的更新或更改需要重启。按照提示重启计算机然后重新运行安装程序。错误代码 0x84BB0001通常与.NET Framework或Windows Installer服务有关。尝试修复或重新安装.NET Framework 4.6以管理员身份运行安装程序确保Windows Installer服务正在运行。SSMS启动报错0xc000007b这是应用程序无法启动的常见错误通常是由于系统文件损坏、DirectX问题或VC运行库缺失引起。1. 运行系统文件检查器以管理员打开CMD输入sfc /scannow。2. 重新安装Microsoft Visual C Redistributable包从最新版本到旧版本。3. 使用DirectX修复工具。4. 最彻底的方法卸载SSMS从官网下载最新版本重新安装。安装时卡在某个百分比不动可能是在下载某些组件或遇到了依赖问题。耐心等待可能超过30分钟。检查网络连接。查看安装日志文件位于C:\Program Files\Microsoft SQL Server\XXX\Setup Bootstrap\Log根据最新的日志文件查找具体错误。5.2 连接与访问类问题问题描述排查思路解决方案Navicat/DBeaver连接报错 08001这是通用的连接失败错误。原因多样服务器名错误、服务未启动、端口未开放、防火墙阻止。1.核对服务器名本地用.或(local)或localhost尝试。2.检查服务状态在SQL Server配置管理器中确认“SQL Server”服务正在运行。3.启用TCP/IP如4.1节所述确保TCP/IP协议已启用并端口为1433。4.关闭防火墙测试临时关闭Windows防火墙和任何第三方杀毒软件防火墙测试是否能连接。若能则需配置防火墙规则。使用sa登录失败错误229用户没有执行特定存储过程的权限。通常发生在为新建用户配置权限时。确保你正在使用具有sysadmin角色的账户如安装时添加的Windows账户进行操作。错误229表明当前登录账户无权执行sp_sqlagent_update_agent_xps等系统过程需要用更高权限账户授权。远程连接提示“第一次连接前必须更改密码”这是SQL Server的安全策略要求某些账户包括新创建的或密码过期的在首次登录时必须更改密码。1. 如果可能请让设置该密码的管理员首次登录并修改。2. 如果管理员账户可用用管理员登录SSMS找到该用户右键“属性”在“常规”页面直接设置新密码并取消勾选“强制实施密码策略”仅限测试环境生产环境应遵守密码策略然后用户即可用新密码登录。数据库显示“正在还原”、“正在装载”或“恢复挂起”数据库文件可能被移动、损坏或还原操作未完成。1. 尝试执行SQL命令ALTER DATABASE [你的数据库名] SET ONLINE;2. 如果无效可能是日志文件问题。尝试ALTER DATABASE [你的数据库名] SET EMERGENCY;ALTER DATABASE [你的数据库名] REBUILD LOG ON (NAME逻辑日志名, FILENAME新的日志文件路径.ldf);ALTER DATABASE [你的数据库名] SET ONLINE;此操作有风险操作前务必备份好MDF文件。5.3 管理与维护类问题如何修改sa密码用Windows身份验证登录SSMS - 安全性 - 登录名 - 右键“sa” - 属性 - 在“常规”页面直接输入新密码。如何创建只读用户首先创建登录名安全性-登录名-新建登录名。然后在具体数据库下数据库-你的数据库-安全性-用户右键“新建用户”关联该登录名在“成员身份”页面选择db_datareader角色即可。这对应了“开通账号给部分表的只读权限”的需求更细粒度的表级权限需要在“安全对象”页面单独授权。如何导出整个数据库右键数据库 - 任务 - 生成脚本。在“选择对象”中选择“编写整个数据库及所有对象的脚本”在“高级”选项中将“要编写脚本的数据的类型”改为“架构和数据”。生成的SQL文件即可用于重建整个数据库。索引失效怎么办索引可能因大量数据修改如DELETE/UPDATE而碎片化导致性能下降。定期使用ALTER INDEX ALL ON [表名] REORGANIZE;轻度碎片或ALTER INDEX ALL ON [表名] REBUILD;重度碎片来维护索引。可以在维护计划中创建重建索引任务。6. 核心工具链与生态连接安装好SQL Server引擎只是基础高效地开发和管理还需要一系列工具。SQL Server Management Studio (SSMS)官方的、功能最全面的图形化管理工具。用于执行查询、管理服务器、配置安全、部署数据层应用等。务必从微软官网下载最新版本。Azure Data Studio一个跨平台的现代化桌面工具轻量且对笔记本Notebook支持友好适合查询、数据可视化和小型管理工作。可以作为SSMS的补充。Visual Studio / Visual Studio Code在开发.NET应用程序时Visual Studio内置了强大的SQL Server数据工具。VS Code配合mssql扩展也能提供良好的SQL编写体验。第三方图形化工具Navicat for SQL Server商业软件界面友好功能强大支持数据同步、结构同步、导入导出等。DBeaver开源免费的通用数据库工具支持SQL Server。功能全面是Navicat的优秀替代品。连接时需下载正确的JDBC驱动。应用程序连接.NET (C#/VB.NET)使用System.Data.SqlClient命名空间。Java使用微软官方提供的mssql-jdbc驱动。Python使用pyodbc或pymssql库。Node.js使用tedious或mssql包。Spring Boot在application.properties中配置spring.datasource.urljdbc:sqlserver://localhost:1433;databaseName你的数据库等参数。最后关于“sqlserver 字符串转数字”这类具体语法问题在SSMS的查询窗口中你可以使用CAST(‘123’ AS INT)或CONVERT(INT, ‘123’)函数。而“限定符[]”在SQL Server中用于包含包含空格或特殊字符的对象名在Oracle中则是使用双引号”。这些细节差异正是需要在具体使用中不断积累的。安装只是入门真正的精通源于在解决一个个具体问题、优化一次次查询性能的实践中获得。希望这份详尽的手册能为你铺平这第一步的道路让你少走些弯路。
返回列表