相关疑难解决方法(0)

如何确定哪个查询正在填满 tempdb 事务日志?

我想知道如何识别实际填充 TEMPDB 数据库事务日志的确切查询或存储过程。

sql-server-2005 sql-server-2008 sql-server tempdb transaction-log

75
推荐指数
3
解决办法
19万
查看次数

查找哪个会话持有哪个临时表

我们有一个 SQL Server 2005 数据库,临时数据库已满。通过进入 SQL Server Management Studio,我可以看到 tempdb 中的所有临时表。是否可以判断哪个会话持有哪个临时表?理想情况下,一个查询将列出每个会话使用的临时表。

谢谢,

sql-server-2005 sql-server tempdb

17
推荐指数
2
解决办法
3万
查看次数

查找填满版本存储的事务

我们为一些 SQL Server 2005 数据库启用了“READ_COMMITTED_SNAPSHOT”。

现在我们不时看到我们的 TempDB 正在填满硬盘,我们怀疑版本存储是罪魁祸首。

我们监视 TempDB 的使用情况sys.dm_db_file_space_usage,一旦我们看到版本存储在增加(如 所报告的那样 version_store_reserved_page_count),我们希望识别正在使用版本存储的事务。

我正在使用以下语句来查找使用版本存储的事务:

SELECT db_name(spu.database_id) as database_name,
       at.transaction_begin_time as begin_time,
       case 
         when at.transaction_state in (0,1) then 'init'
         when at.transaction_state = 2 then 'active'
         when at.transaction_state = 3 then 'ended'
         when at.transaction_state = 4 then 'committing'
         when at.transaction_state = 6 then 'comitted'
         when at.transaction_state = 7 then 'rolling back'
         when at.transaction_state = 6 then 'rolled back'
         else 'other'
       end as transaction_state,
       ast.elapsed_time_seconds as elapsed_seconds,
       ses.program_name, …
Run Code Online (Sandbox Code Playgroud)

sql-server-2005 sql-server tempdb tempdb-version-store

6
推荐指数
1
解决办法
1万
查看次数

TempDB mdf 文件的问题不断增加

我有一个 tempdb 增长问题。让我通过提供我的 tempdb 设置来开始一切。

临时数据库设置

即使没有在数据库/服务器上运行查询,tempdb 的大小也会不断增加,开始迅速,然后缓慢而没有停止。我运行了许多查询来找出正在运行的内容,下面是查询的结果,它实际上给了我可以使用的结果。

dm_db_task_space_usage

可以看出,它们都是内部 spid 的,有什么方法可以找出 tempdb 继续失控的原因以及如何缓解它?对这个问题的任何帮助将不胜感激。

--Query that returned the result set
SELECT session_id,
       SUM(internal_objects_alloc_page_count)   AS task_internal_objects_alloc_page_count,
       SUM(internal_objects_dealloc_page_count) AS task_internal_objects_dealloc_page_count
FROM   sys.dm_db_task_space_usage
GROUP  BY session_id
HAVING SUM(internal_objects_alloc_page_count) > 0 
Run Code Online (Sandbox Code Playgroud)

sql-server-2005 sql-server disk-space tempdb auto-growth

6
推荐指数
2
解决办法
1万
查看次数

Tempdb 自动增长设置

继我最近在 Tempdb 上提出的一个问题之后。我想知道在添加和移动 tempdb 文件时如何正确设置自动增长属性?

我问这个问题是因为我想让 SQL Server 使用循环算法将工作负载分散到每个文件上。据我了解,如果文件大小不相等,那么 SQL Server 将使用空间最大的文件,从而增加导致闩锁争用的机会。我这里的理解正确吗?

干杯,

sql-server tempdb

5
推荐指数
1
解决办法
2万
查看次数