Ø 简介
本文主要介绍 SQL Server 数据库在平常的开发中,可能会涉及到的编程技巧,主要包含以下内容:
1. 解决 SQL Server 不支持 127.0.0.1 登录
2. 查询 SQL Server 执行过的 SQL 语句
3. 解决执行作业报错:SQLServerAgent 当前未运行,因此无法将此操作通知它。 (Microsoft SQL Server,错误: 22022)
1. 解决 SQL Server 不支持 127.0.0.1 登录,设置步骤如下:
1) 打开“计算机管理” -> 服务和应用程序 -> SQL Server 配置管理器。
2) SQL Server 网络配置 -> MSSQLSERVER的协议 -> 启用"TCP/IP"和"Named Pipes"。
3) 在启动TCP/IP协议后,还要把其属性中的TCP端口号改为1433(动态端口)或修改为自己想要的端口号。
4) 重启"SQL Server"。
2. 查询 SQL Server 执行过的 SQL 语句
主要使用 sys.dm_exec_query_stats 视图与 sys.dm_exec_sql_text 函数,参考官方文档。
SELECT TOP 1000
T2.text AS '执行的SQL语句',
T1.execution_count AS '执行次数',
T1.total_elapsed_time AS '耗时',
T1.total_logical_reads AS '逻辑读取次数',
T1.total_logical_writes AS '逻辑写入次数',
T1.total_physical_reads AS '物理读取次数',
T1.creation_time AS '执行时间',
T1.*
FROM sys.dm_exec_query_stats AS T1
CROSS APPLY sys.dm_exec_sql_text(T1.sql_handle) AS T2
WHERE T1.creation_time BETWEEN '2018-06-20 00:00:00' AND '2018-06-21 23:59:59'
AND T2.text LIKE '%%'
ORDER BY T1.total_elapsed_time DESC;
ORDER BY T1.total_elapsed_time DESC;
3. 解决执行作业报错:SQLServerAgent 当前未运行,因此无法将此操作通知它。 (Microsoft SQL Server,错误: 22022)
1) 错误描述:
2) 解决错误:导致该错误原因是因为 SQL Server 代理服务未开启,将该服务开启即可,并设为自动启动,例如: