sqlserverexec查询存储过程取某⼀个字段_数据库操作教程:
如何检查SQLServ。。。
dbForge Studio for SQL Server为有效的探索、分析SQL Server数据库中的⼤型数据集提供全⾯的解决⽅案,并设计各种报表以帮助作出合理的决策。
dbForge Studio for SQL Server w ww.evget
查询历史记录中存储的数据对于任何DBA来说都是最有价值的。在许多情况下,必须追溯SQL Server查询历史记录。例如,如果您的SQL Server发⽣崩溃,则可能需要调查特定的⼯作案例,检查备份历史记录或恢复特定的查询。
幸运的是,对于任何故障或例⾏分析任务,都会显⽰完整的SQL Server查询历史记录,并且存在使⽤这些数据的⽤户友好型解决⽅案。
当需要在特定时间段内查看有关SSMS中已执⾏的SQL语句的数据时,可以使⽤以下⼏个选项:
1. 查询通过系统表⽰形式(sys.dm_exec_query_stats,sys.dm_exec_sql_text和sys.dm_exec_query_plan)保存在缓存中。
2. 使⽤SQL Server Profiler
3. 使⽤扩展事件
4. 从2016版本开始使⽤Query Store
5. 在SSMS中使⽤SQL Complete(SQL Complete Execution History)
例如,选项#1允许您使⽤以下脚本输出100个执⾏时间最长(包括所有延迟)的查询:
with s as (
select top(100)
creation_time,
last_execution_time,
execution_count,
total_worker_time/1000 as CPU,
convert(money, (total_worker_time))/(execution_count*1000)as [AvgCPUTime],
convert(money, (qs.total_elapsed_time))/(execution_count*1000)as [AvgDur],
total_logical_reads as [Reads],
total_logical_writes as [Writes],
total_logical_reads+total_logical_writes as [AggIO],
convert(money, (total_logical_reads+total_logical_writes)/(execution_count + 0.0)) as [AvgIO],
[sql_handle],
plan_handle,
statement_start_offset,
statement_end_offset,
plan_generation_num,
total_physical_reads,
convert(money, total_physical_reads/(execution_count + 0.0)) as [AvgIOPhysicalReads],
convert(money, total_logical_reads/(execution_count + 0.0)) as [AvgIOLogicalReads],
convert(money, total_logical_writes/(execution_count + 0.0)) as [AvgIOLogicalWrites],
query_hash,
query_plan_hash,
total_rows,
convert(money, total_rows/(execution_count + 0.0)) as [AvgRows],
total_dop,
convert(money, total_dop/(execution_count + 0.0)) as [AvgDop],
total_grant_kb,
convert(money, total_grant_kb/(execution_count + 0.0)) as [AvgGrantKb],
total_used_grant_kb,
convert(money, total_used_grant_kb/(execution_count + 0.0)) as [AvgUsedGrantKb],
total_ideal_grant_kb,
convert(money, total_ideal_grant_kb/(execution_count + 0.0)) as [AvgIdealGrantKb],
total_reserved_threads,
convert(money, total_reserved_threads/(execution_count + 0.0)) as [AvgReservedThreads], total_used_threads,
convert(money, total_used_threads/(execution_count + 0.0)) as [AvgUsedThreads]
from sys.dm_exec_query_stats as qs with(readuncommitted)
order by convert(money, (qs.total_elapsed_time))/(execution_count*1000) desc
)
select
s.last_execution_time,
s.CPU,
s.[AvgCPUTime],
s.TotDuration,
s.[AvgDur],
s.[AvgIOLogicalReads],
s.[AvgIOLogicalWrites],
s.[AggIO],
s.[AvgIO],
s.[AvgIOPhysicalReads],
s.plan_generation_num,
s.[AvgRows],
s.[AvgDop],
s.[AvgGrantKb],
s.[AvgUsedGrantKb],
s.[AvgIdealGrantKb],
s.[AvgReservedThreads],
s.[AvgUsedThreads],
--st.text as query_text,
case
when sql_handle IS NULL then ' '
else(,(s.statement_start_offset+2)/2,(
case
when s.statement_end_offset =-1 then len(convert(nvarchar(MAX),st.text))*2
else s.statement_end_offset
end - s.statement_start_offset)/2  ))
end as query_text,
db_name(st.dbid) as database_name,
object_schema_name(st.objectid, st.dbid)+'.'+object_name(st.objectid, st.dbid) as [object_name], sp.[query_plan],
s.[sql_handle],
s.plan_handle,
s.query_hash,
s.query_plan_hash
from s
cross apply sys.dm_exec_sql_text(s.[sql_handle]) as st
cross apply sys.dm_exec_query_plan(s.[plan_handle]) as sp
sqlserver备份表语句⾄于其他选项,值得强调的是在SSMS中使⽤SQL Complete的可能性。
SQL Complete在指定的时间段内将有关已执⾏的SQL语句的主要信息存储在SSMS中。使⽤此SSMS加载项,您可以查看,编辑和搜索数据库中运⾏的T-SQL查询。便捷的界⾯使这项⼯作更加易于管理。
特别是,请注意SQL Complete提供的以下功能:
检查SQL语句的执⾏-您可以定义它们是成功还是失败
查看特定时期的查询历史记录中的数据
为多个条件对数据进⾏排序
搜索特定的语句-使处理⼤量数据的分析⼈员⾮常⽅便
SQL Complete解决⽅案存储在磁盘上的⽂件中或在使⽤连接字符串指定的数据库中的表中运⾏的每个
语句。存储周期可以是任意的—您可以⾃⼰在SQL Complete选项中设置它。因此,如果您正在编写脚本,您将获得与所做的每⼀个更改相关的完整历史记录。但是请记
住,SQL Complete只为SQL Complete与之集成的SSMS执⾏的查询存储历史记录。
SQL语句保存在写⼊⽂件和/或数据库的列表中。该解决⽅案可以⾃动删除旧的SQL查询历史记录⽇志。此外,您还可以进⾏监视和执⾏任何特定查询,同时接收其他有价值的信息进⾏研究和分析。
图1 SQL Complete中的执⾏历史
您可以使⽤任何资源来按⽤户检查MS SQL Server查询历史记录。可以轻松⽅便地为您提供各种执⾏任务的⼯具。
点击下载dbForge Studio for SQL Server,并通过30天免费试⽤版⾃⾏检查此功能!
点击下载dbForge Studio for SQL Server

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。