最近搭建springboot项目开发环境,数据库连的是sql server,遇到许多问题在此记录一下。
1、sql server安装教程
官网下载
SQL Server 下载页:https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads
①打开页面,选择SQL Server 2025 Developer【下载 Standard Developer 版本(推荐,够用)】:免费开发版,永久可用,完整功能,本地电脑开发学习首选 ✅,点击下载,得到一个小引导安装包SQL2025-SSEI-StdDev.exe
②双击安装包,选择Basic(推荐新手直接选这个✅)
基础安装,使用默认配置,只安装数据库引擎,一键装好。
- 优点:步骤最少,不用手动配置实例、账户,省心。
- 缺点:配置都是默认,不能自定义安装路径、功能。
③SSMS(管理工具)可以单独下载:https://learn.microsoft.com/zh-cn/sql/ssms/download-sql-server-management-studio-ssms也可以直接点击Install SSMS下载,SSMS 就是用来可视化操作数据库、执行 SQL 语句的客户端,与navicat差不多
不用勾选任何选项,直接安装
安装完成
点击启动
加密选择可选
登录成功
④执行下面语句,重置sa用户密码
-- 启用sa账户ALTERLOGIN saENABLE;GO-- 重置密码(改成你想设置的密码)ALTERLOGIN saWITHPASSWORD='NewPassword123!';GOsa 登录失败并报错"管道的另一端上无任何进程",这通常是两个问题叠加导致的:一是 SQL Server 的身份验证模式配置,二是 sa 账户被禁用或 TCP/IP 协议未启用。
第一步:
在 SQL Server Management Studio (SSMS) 中,用 Windows 身份验证 成功登录。
在左侧"对象资源管理器"中,右键点击最顶层的服务器节点,选择 “属性”。
在左侧选择 “安全性” 页面。
在右侧的"服务器身份验证"下,选择 “SQL Server 和 Windows 身份验证模式”,然后点击 “确定”。
它会提示你需要重启 SQL Server 服务,先点击"确定"接受这个提示。
第二步:
启用 TCP/IP 协议并重启服务
“管道的另一端上无任何进程"这个错误常常和网络协议有关。SQL Server 的某些版本(如 Developer 版)默认可能不启用 TCP/IP 协议。
在开始菜单搜索并打开 “SQL Server 配置管理器”(SQL Server Configuration Manager)。
在左侧展开 “SQL Server 网络配置”,点击你的实例名(通常是 MSSQLSERVER 的协议)。
在右侧,确认 “TCP/IP” 的状态。如果显示"已禁用”,右键点击它并选择 “启用”。
在左侧点击 “SQL Server 服务”,在右侧右键点击 “SQL Server (MSSQLSERVER)” 服务,选择 “重新启动”,让前面所有修改生效
再次登录,登录成功
2、sql server导出、导入数据库
参考:https://blog.csdn.net/noriyyds/article/details/130814064
3、用Windows身份验证方式登录SQL Server Management Studio添加一个新的用户并设置密码,密码要足够复杂才可。
添加新用户后用Microsoft SQL Server Management Studio登陆新用户可能会报错:
解决方法:更改SQL Server服务器身份验证为混合验证方式
- 启动SQL Server Management Studio,以Windows身份验证方式登录。
- 在对象资源管理器窗口中,右键单击服务器,选择属性,打开服务器属性对话框。
- 在“安全性”页上的“服务器身份验证”下,选择新的服务器身份验证模式,再单击“确定”。
- 确定之后要重新启动 SQL Server 服务
按下Win+R组合键,打开“运行”对话框。输入services.msc并点击确定,打开“服务”窗口。在服务列表中找到SQL Server (MSSQLSERVER),右键单击选择重新启动即可。
– 给用户分配角色
CREATE USER userName FOR LOGIN userName ;
ALTER ROLE db_datareader ADD MEMBER userName;
ALTER ROLE db_datawriter ADD MEMBER userName;
4、application.yml配置
spring:datasource:type:com.alibaba.druid.pool.DruidDataSourcedriverClassName:com.microsoft.sqlserver.jdbc.SQLServerDriverdruid:master:url:jdbc:sqlserver://XXX.XXX.XXX.XXX:1433;databaseName=nrid;sendStringParametersAsUnicode=true;encrypt=true;trustServerCertificate=trueusername:userName password:userPassWord5、运行报错和解决办法
5.1后台报错:com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host XXX.XXX.XXX.XXX, port 1433 has failed. Error: “Connection timed out: no further information… Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall.”.
解决方法:https://blog.csdn.net/weixin_47246285/article/details/130605313
5.2后台报错: Error querying database. Cause: com.microsoft.sqlserver.jdbc.SQLServerException: The SELECT permission was denied on the object ‘sys_job’, database ‘nrid’, schema ‘dbo’.
解决方法:用Windows身份验证方式登录SQL Server Management Studio执行语句
USE [YourDatabaseName];
GO
GRANT SELECT ON SCHEMA::dbo TO [YourUserName];
GO
然后把insert、update、delete权限都赋给新添加的用户。