AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题

问题[dmv](dba)

Martin Hope
SqlNightOwl
Asked: 2021-06-19 08:50:47 +0800 CST

有没有办法确定执行 spid 的命令超时

  • 0

是否有可用的 DMV 或其他机制返回执行 session_id 的命令超时?

sql-server dmv
  • 1 个回答
  • 165 Views
Martin Hope
SEarle1986
Asked: 2020-03-10 09:06:55 +0800 CST

游标 sys.databases 会跳过数据库

  • 4

我知道这个问题已经被问过好几次了,我知道解决方案,但我试图了解问题的根本原因:

我有以下代码来执行数据库备份。

DECLARE @Filename   VARCHAR(256)
DECLARE @FileDate   VARCHAR(15) 
DECLARE @Path       VARCHAR(50) 
DECLARE @Name       VARCHAR(50) 

-- specify database backup directory
SET @Path = '\MyPath'

-- specify filename date
SELECT @FileDate = CONVERT(VARCHAR(20), GETDATE(), 112) + '_' + REPLACE(CONVERT(VARCHAR(20), GETDATE(), 108),':','')

DECLARE db_cursor CURSOR FOR
    SELECT [name]
        FROM master.sys.databases
        WHERE [name] NOT IN ('master', 'msdb', 'model', 'tempdb')
            AND [state_desc] = 'ONLINE'

OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @Name

WHILE @@FETCH_STATUS = 0
BEGIN

    SET @Filename = @Path + @Name + '_Full_Backup_' + @FileDate + '.bak'
    BACKUP DATABASE @Name
    TO DISK = @Filename
    WITH CHECKSUM,
        COMPRESSION

    FETCH NEXT FROM db_cursor INTO @Name
END

CLOSE db_cursor
DEALLOCATE db_cursor

有时,只备份了一些数据库,这表明游标没有遍历所有返回的行,或者查询本身没有返回它应该返回的所有数据库的名称。

我试图理解为什么会发生这种情况。我知道解决方法是使用STATIC游标,这表明问题出在基础查询中的结果上

SELECT [name]
    FROM master.sys.databases
    WHERE [name] NOT IN ('master', 'msdb', 'model', 'tempdb')
        AND [state_desc] = 'ONLINE'

正在发生变化,但我看不到会发生什么变化(没有数据库名称会发生​​变化,并且错误日志并不表明数据库状态已发生变化)

sql-server-2016 dmv
  • 1 个回答
  • 380 Views
Martin Hope
Channa
Asked: 2019-09-25 10:55:26 +0800 CST

需要有关 sys.dm_os_buffer_descriptors 的详细信息

  • -2

我试图在互联网上搜索很多关于 dmv 的信息,但搜索不多。我无法理解此 dmv 的某些列的含义。哪个是:

  • pg_level
  • allocation_unit_id
  • 行数
  • numa_node 请分享这个的意思,如果有人对此有任何想法的话。
sql-server dmv
  • 1 个回答
  • 75 Views
Martin Hope
Joe Obbish
Asked: 2019-06-14 15:25:50 +0800 CST

文档中 sys.dm_exec_query_stats 警告的实际影响是什么?

  • 11

的文档说明sys.dm_exec_query_stats以下内容:

如果服务器上当前正在执行工作负载,则 sys.dm_exec_query_stats 的初始查询可能会产生不准确的结果。通过重新运行查询可以确定更准确的结果。

我有时会在活动工作负载期间查询该 DMV,并希望获得准确的结果。我不知道如何在实践中应用上述警告。我是否应该始终查询 DMV 两次并使用第二个结果集,因为这样会更准确?这感觉有点牵强。我是否需要了解 DMV 可能不准确的方式,以便我可以将其纳入我的分析中?如果是这样,可能会出现什么样的不准确:缺少行、过时的值、不一致的行或其他什么?

在活动工作负载期间使用时的最佳做法是什么sys.dm_exec_query_stats?

sql-server dmv
  • 2 个回答
  • 168 Views
Martin Hope
Randy Minder
Asked: 2017-10-06 11:26:52 +0800 CST

为什么某些 spid 值没有出现在 sys.dm_exec_requests 中?

  • 4

我正在对 SQL Server 2014 执行以下 dmv 查询,以查找服务器上的所有活动和任何阻塞活动:

SELECT Distinct
   ...
FROM sys.dm_exec_requests er
    OUTER APPLY sys.dm_exec_sql_text(er.sql_handle) st
    LEFT JOIN sys.dm_exec_sessions ses ON ses.session_id = er.session_id
    LEFT JOIN sys.dm_exec_connections con ON con.session_id = ses.session_id
WHERE st.text IS NOT NULL And DB_Name(er.database_id) IN ('Vincent', 'Vincent_Audit')
ORDER BY BlockingSessionId Desc, SessionId

该查询的示例结果如下:

在此处输入图像描述

可以看到会话 120 被 112 阻止,112 被 69 阻止。但是,进程 69 没有出现,因为它在 sys.dm_exec_requests 中不存在。

因此,以下查询不返回任何结果:

SELECT *
FROM sys.dm_exec_requests
Where session_id = 69

有谁知道为什么会这样?

sql-server dmv
  • 2 个回答
  • 3006 Views
Martin Hope
Erik Darling
Asked: 2017-09-21 06:43:22 +0800 CST

`sys.dm_os_wait_stats` 中的值是否重置为 0 或在达到最大值时停止累积?

  • 7

查看sys.dm_os_wait_stats时,以下列定义为BIGINT

  • waiting_tasks_count
  • 等待时间毫秒
  • 最大等待时间毫秒

如果这些值中的任何一个超过9,223,372,036,854,775,807,计数器是重置为 0,还是干脆停止计数?

从表定义中不清楚幕后发生了什么:

sp_helptext 'sys.dm_os_wait_stats'

退货:

CREATE VIEW sys.dm_os_wait_stats AS  
 SELECT *  
 FROM OpenRowset(TABLE SYSWAITSTATS)  

所以这有点像一个黑盒子。

在某些 DMV 中,大数字可能会变为负数。一个例子是 中的total_elapsed_time列dm_exec_requests。

sql-server dmv
  • 1 个回答
  • 177 Views
Martin Hope
John Eisbrener
Asked: 2017-04-20 13:32:55 +0800 CST

sys.dm_exec_sql_text 在 dbid、objectid 和 number 列中返回 NULL,但不是 text

  • 4

这是困扰我的事情,虽然从来没有引起任何真正的问题,因为我通常可以通过其他方式找到这些信息,但是有人可以解释为什么NULL可能会在DMV 的 、 和 列中返回,但在dbid列objectid中number产生结果?我理解为什么输出会反向返回(例如所有列但会产生数据),但我已经在多个 SQL Server 版本中多次看到这种行为,并且文档似乎并不暗示这应该是可能的,或者我只是读错了。sys.dm_exec_sql_texttexttext

这是我正在运行的查询的示例:

SELECT TOP 100 
      t.*
    , s.*
    , c.*
FROM    sys.dm_exec_query_stats s
        LEFT JOIN sys.dm_exec_connections c
               ON c.most_recent_sql_handle = s.sql_handle
        CROSS APPLY sys.dm_exec_sql_text(s.sql_handle) t
WHERE s.execution_count > 1 AND DATEDIFF (second, creation_time, GETDATE()) > 0
        AND t.dbid IS NULL

这是该列中的一个结果的示例,text这意味着这与临时对象无关,而我通常认为这是原因。

select * from [dbo].[Map_ProviderSpecialty]

NULL这些列返回值的情况是什么?

sql-server dmv
  • 2 个回答
  • 2194 Views
Martin Hope
sqlsurfer7
Asked: 2016-07-23 10:24:39 +0800 CST

有没有办法找出针对特定表运行最多的查询?

  • 4

我们的 Master Data Services 应用程序一直遇到速度缓慢的问题。因此,我们查看了哪些表具有最高的范围扫描、单例查找、页面锁定等待等值。您能否告诉我是否有一种方法可以查看针对我们的 MDS 数据库中的特定表运行的最多查询。

performance dmv
  • 1 个回答
  • 66 Views
Martin Hope
user98113
Asked: 2016-06-21 06:04:57 +0800 CST

sys.dm_db_index_physical_stats 错误

  • 2

我正在执行一个 select 语句来检索索引的碎片百分比并面临以下错误。

    SELECT A.NAME,B.NAME,C.avg_fragmentation_in_percent 
      FROM SYS.TABLES A 
      INNER JOIN SYS.INDEXES B ON A.OBJECT_ID=B.object_id
      CROSS APPLY SYS.DM_DB_INDEX_PHYSICAL_STATS(DB_ID(),
        A.OBJECT_ID,B.INDEX_ID,0,DEFAULT) C
    WHERE B.NAME IS NOT NULL

错误是

消息 413,级别 16,状态 1,行 1
内联函数“SYS.DM_DB_INDEX_PHYSICAL_STATS”不支持相关参数或子查询。
消息 413,级别 16,状态 1,行 1
内联函数“SYS.DM_DB_INDEX_PHYSICAL_STATS”不支持相关参数或子查询。

sql-server-2008-r2 dmv
  • 2 个回答
  • 1648 Views
Martin Hope
John G Hohengarten
Asked: 2016-05-03 08:30:01 +0800 CST

如何判断我的 SSAS 实例正在运行哪个版本和版本?

  • 2

在数据库引擎上的 SQL Server 中,您可以像这样运行 SQL 查询来获取服务器的版本信息,如版本和版本,以及更新级别等。

SELECT @@VERSION

查询 SSAS(表格或多维)实例的 MDX 等效项是什么?是否有 SSAS DMV 可以给我这个答案?

我浏览了SSAS DMV 的 Books Online 页面,但我没有注意到任何可以帮助我的 DMV。DISCOVER_INSTANCES 似乎没有信息。

假设 SQL Server 数据库引擎未安装在与 SSAS 实例相同的服务器上,因此我无法通过查询数据库引擎来检查这一点。

就我而言,这是针对 SQL 2012 表格实例,但也想知道如何查询多维实例。

ssas dmv
  • 1 个回答
  • 6078 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve