装SQL Server这事,说起来挺有意思。我见过太多人,一听到要装数据库,第一反应就是“麻烦”、“复杂”、“肯定要出问题”。其实真不是那么回事。就拿SQL Server来说,微软这些年一直在优化安装流程,从2008版到现在2022版,每一步都在往“傻瓜化”方向走。但问题恰恰出在这儿——太多人以为这就是个点几下鼠标的活儿,结果装到一半发现报错,或者装完以后连不上、跑不动,回头又得重装。

我第一次装SQL Server的时候,就踩过一个大坑。那是2012年的事了,公司要上一个新系统,我拿到安装包,心想这不就是个安装程序吗?双击、下一步、同意协议、选路径,一气呵成。结果装完以后,登录不上。折腾了一下午,发现是服务账户密码设置的问题——我随便填了个密码,结果Windows服务启动不了。后来我才明白,安装SQL Server,核心不是怎么点鼠标,而是怎么理解那些看似“可选”的配置项。
安装程序的第一步,往往是版本选择。很多人直接选默认的“免费版本”——比如Express版。这个版本确实不要钱,但功能限制也摆在那:最大数据库大小10G,只支持一个CPU核心,内存上限1G。你要是拿它做个个人学习工具,没问题;但如果是给公司小团队用,或者跑个正经的业务系统,那简直就是给自己挖坑。我见过一个创业公司,老板图省钱装了Express版,结果业务一增长,数据库频繁报错,不得不停机迁移数据,损失远超过买正版的钱。所以安装前,先问自己一个问题:这个数据库,到底是干什么用的?是练手,还是真跑业务?
接下来是服务账户配置。这一步,99%的人都会忽略。默认情况下,安装程序会让你用本地系统账户运行SQL Server服务。这个选项在测试环境没问题,但生产环境就麻烦了——万一你改了服务器密码,或者IT部门统一调整了账户权限,SQL Server就瘫了。我建议的做法是:单独创建一个域账户或者本地账户,专门用来跑SQL Server服务。密码设得复杂一点,但一定要记下来,最好存到密码管理工具里。这一步麻烦几分钟,能避免以后半夜被运维电话吵醒。
还有一个容易忽略的点是排序规则。安装过程中会有一个页面让你选“Collation”——中文叫“排序规则”。很多人直接点默认,但默认选项往往是针对英文环境的。如果你的数据库要处理中文数据,比如存客户姓名、地址、描述文本,那排序规则最好选“ChinesePRCCI_AS”。这个选项能保证中文排序和比较的正确性。我见过一个案例,某电商网站的搜索功能,用户搜“张三”却搜不出“张三”,就是因为排序规则选错了,导致中文字符的比对逻辑出了问题。这种bug,排查起来非常痛苦。
网络配置这块,也经常出幺蛾子。安装程序默认只开启“TCP/IP”协议的某个特定端口——1433。这是SQL Server的标准端口,但很多公司的网络安全策略会封掉这个端口。你装完以后,本地能连,远程连不上,十有八九就是端口被防火墙堵了。解决办法有两个:要么跟网络管理员申请开放1433端口,要么在安装时指定一个非常规端口,比如14330,然后自己记住。我个人的经验是,生产环境最好用非常规端口,少一个被扫描攻击的风险。
安装路径的选择,同样有讲究。默认是装到C盘,但我不建议这么做。SQL Server的数据文件和日志文件,随着业务增长,体积会越来越大。如果C盘空间不够,数据库会直接挂掉,连个预警都没有。我一般会把数据文件放到D盘或者E盘,日志文件放到另一个独立的盘。这样即使系统盘坏了,数据还能救回来。而且,分开存放还能提升IO性能——两个磁盘同时读写,总比一个盘扛着强。
安装完成以后,很多人以为就万事大吉了。其实真正的工作才刚刚开始。第一个要做的,是检查Windows防火墙有没有开放SQL Server的端口。第二个,是设置sa账户的密码——安装过程中默认禁用了sa账户,但很多教程会教你启用它。启用以后,务必把密码设成强密码,至少16位,包含大小写和特殊字符。第三个,是配置数据库的自动备份策略。SQL Server本身自带备份功能,但默认是关闭的。你得手动设置一个计划任务,比如每天凌晨两点做一次完整备份,每四小时做一次差异备份。这事不做,哪天数据丢了,哭都来不及。
说到这,我还得提一嘴一个常见的误区。很多人觉得装SQL Server必须用图形界面,点鼠标才安心。但说实话,用命令行安装反而更稳。微软提供了“SQL Server Installation Center”的命令行模式,你可以写一个配置文件,把所有参数都写在里面,然后一条命令搞定安装。这种方式的好处是:第一,不会因为漏点某个选项而出错;第二,同样的配置可以重复使用,下次重装系统或者部署新服务器,直接拿过来跑就行。我公司现在部署新数据库,全部用脚本自动化,半小时装完一台,还不带任何人为失误。
再说一点安装后的“体检”工作。装完以后,别急着往里导数据。先跑一个简单的测试:创建一个测试数据库,建一张表,插几条数据,然后查询、更新、删除,再试一下远程连接。确认所有功能都正常以后,再正式上线。这一步,其实就是花十分钟买个保险。我见过太多人,装完直接导生产数据,结果发现性能有问题,或者某个功能不支持,又得回滚。那损失,比安装时多花十分钟大得多。
其实装SQL Server这回事,说难不难,说简单也不简单。关键是把每个步骤都想清楚,别图省事。那些踩过的坑,大多是因为“我以为”这三个字。你以为默认配置没问题,你以为下一步就对了,你以为装完就完了——结果全栽在这些“你以为”上。下次装之前,多花半小时看一遍每个选项的含义,能省你以后几十个小时的折腾时间。


