记录一次本地服务器node使用sql server以及一个坑
这里主要是因为本人第一次在node上使用sql server,在此记录一下,也希望可以帮助到遇到同样困难的。
说在前边:
- sql server 2017
- window 10操作系统
- node操作sql server使用到了mssql包
- 可视化工具为SSMS
- 首先是安装。安装过程可以参考:SQL server 2017 安装(详细)
在安装的过程创建的时候,会使用一个混合模式,这个时候可以会输入密码。默认账户名就是sa,密码就是你输入的密码。
这里就可以通过你的账号密码进行登陆,或者主机验证登陆。
进入正题:
在安装了sql server情况下, 使用管理员身份运行cmd:
启动:
net start mssqlserver
net stop mssqlserver
这里提供一段测试代码
const sql = require('mssql')
const config = {
user: 'sa',
password: '你设置的密码.',
server: '127.0.0.1', // You can use 'localhost\\instance' to connect to named instance
database: '要连接的数据库的名字',
options: {
ectry: true,// window进行性连接需要设置
enableArithAbort: true
},
port:1433 // 默认端口是1433可以不设置
}
sql.on('error', err => {
// ... error handler
})
sql.connect(config, err => {
console.log(err)
// Query
new sql.Request().query('select * from course', (err, result) => {
// ... error checks
console.log(result)
})
})
代码不进行解释,详情请参考mssql。
运行代码:
发生了错误,确认账号密码没有错误后,但是依然发生错误选择在SSMS进行尝试连接本地服务器。
直接在SSMS中进行连接:
结果:
实例名称在安装的时候我初始化一个了,并且使用本机验证(如下图)的时候是可以登录的,所以实例是没有问题的:
所以是远程连接的问题。
解决办法:
右键此电脑-》管理:
点击服务和应用程序-》SQL Server配置管理器
点击SQL Server网络配置
一直点下去找到TCP/IP。因为我已经启用过了,所以这里显示状态是启用的。
刚开始是没有启用的,就可以右键TCP/IP-》启用。启用以后出现:
这里表示重启服务即可。
这里重启动可以是:SQL Server配置服务器-》SQL Server管理器-》SQL Server服务:
按以上顺序到了这里。右键箭头指向模块选择重新启动即可。
人品好的人到这里应该是结束了。如何测试呢?回到SSMS直接通过127.0.0.1进行连接。成功连接,就恭喜你成功了。但是像我这种就出现以下的情况:
一直处于连接的状态,根本连接不上。这里仅仅是其中一种情况。
有的人可能在刚才重新启动服务器的时候就出现问题了。如下:
就是不能停止服务。然后尝试通过命令行去停止服务也是不能停止。这个时候一是可以尝试重启,不够还有一个办法就是强制重启。
首先在SQL Server中查看当前服务程序运行的端口
这里也可以通过任务管理器进行查看
因为我停止了,所以才没有了进行号,只要知道在这里可以查看就行了。
通过命令行:
taskkilL -pid 2584 /F
通过该命令可以成功杀死当前的服务。
然后再进行上述的重新启动步骤即可。测试也是同样进入SSMS进行尝试使用127.0.0.7进行登陆,登陆成功说明可以连接了。
同时运行上述代码:
也是成功得到了返回值。
强制重启参考了这里windows 无法停止SQLserver 服务