提醒:本页面将不再更新、维护或者支持,文章、评论所叙述内容存在时效性,涉及技术细节或者软件使用方面不保证能够完全有效可操作,请谨慎参考!

前面一篇文章提到了Windows Server 2016 Core的配置,今天要介绍的是如何正确安装SQL Server Express并且开放1433端口远程访问。由于本文的配置环境是Server Core系列,那么很遗憾所有图形操作将会变得困难,所以网上大部分配置文章不再适用,这里还是主要以介绍命令行配置为主。

至于为什么选择SQL Server Express,首先足够轻量,占用资源小而且足够应付绝大多数场景,也免去正式版的花销,这几年部署的SQL Server Express 2005和2008版本一直稳定运行,所以对于一些信息系统或者Web网站,轻量级Express版本的SQL Server才是佳选,好下面进入正文。

首先需要 下载SQL Server Express ,本文下载的是SQL Server 2017 Express Edition,下载完成后通过远端或者复制在Server Core系统里执行,由于Server Core仍然支持图形显示,那么执行安装包后你将看到下面的安装界面,切记不要急着安装,我们先选择 Download Media

SQL Server Express 安装界面

接下来一步需要注意的是我们选择最精简的安装包, Express Core ,然后注意下面的 SELECT DOWNLOAD LOCATION ,这个地址我们接下来会用到,点击 Download 按钮下载。

SQL Server Express 安装界面

命令提示符下切换到刚才的下载地址,找到所下载的安装包,我们这里是 SQLEXPR_x64_ENU.exe ,直接执行这个exe文件,弹出解压文件路径,记住这个路径或者你另行解压到其他位置,如下图所示:

解压SQL Server Express安装包

切换到刚才解压的路径,找到路径下Setup.exe安装包,然后使用下面的命令行(需要修改)执行:

Setup.exe /QS /ACTION=Install /FEATURES=SQLEngine /INSTANCENAME=MSSQLSERVER /SQLSVCACCOUNT="NT Authority\System" /SQLSYSADMINACCOUNTS="DOMAIN\Administrator" /AGTSVCACCOUNT="NT AUTHORITY\Network Service" /SECURITYMODE=SQL /SAPWD="Az123456" /TCPENABLED=1 /IACCEPTSQLSERVERLICENSETERMS=1

注意这里的 /SQLSYSADMINACCOUNTS="DOMAIN\Administrator" DOMAIN 改成你所在域或者计算机名称; /SAPWD="Az123456" Az123456 是你的数据库在混合模式(Mixed Mode)下的sa账户密码,你需要改成自己设置的密码,注意密码强度。

使用命令行安装SQL Server Express

执行完上述命令后将会弹出安装界面,等安装完成后自动退出,至此带远程访问的SQL Server Express已经安装完毕,通过 netstat -ano 命令我们可以查看1433端口是否正常开启。

查看应用程序网络连接状态

当然到这里我们还没有结束,因为我们必须开启防火墙允许1433端口数据通过,否则其他计算机是无法正常访问和连接数据库的,开启的方法也很简单,通过下面的两条命令即可:

netsh firewall set portopening protocol = TCP port = 1433 name = SQLPort mode = ENABLE scope = SUBNET profile = CURRENT
netsh advfirewall firewall add rule name = SQLPort dir = in protocol = tcp action = allow localport = 1433 remoteip = localsubnet profile = DOMAIN

完成上述两条命令后,我们就可以通过客户端telnet检查1433 TCP端口是否开放,并且使用Microsoft SQL Server Management Studio远程连接Server Core的数据库了。

防火墙允许SQL Server 1433端口访问

参考资料