[转载]如何查看某个查询使用了多少TempDB空间

本文介绍了一个用于监测 SQL Server 中 TempDB 空间使用情况的方法。通过执行特定的 SQL 脚本,可以测量指定查询对 TempDB 的读写操作所占用的空间大小,帮助开发者了解查询对临时数据库的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

http://www.cnblogs.com/CareySon/p/3910337.html

通过下面脚本可以查看某个查询实用的TempDB的空间.

第一步是查询出当下TempDB实用空间是多少,

第二步是执行某查询语句

第三步是用当先TempDB空间-第一步TempDB实用的空间.

 

DECLARE @read   BIGINT, 
        @write  BIGINT
;        
SELECT  @read = SUM(num_of_bytes_read), 
        @write = SUM(num_of_bytes_written) 
FROM    tempdb.sys.database_files AS DBF
JOIN    sys.dm_io_virtual_file_stats(2, NULL) AS FS
        ON FS.file_id = DBF.file_id
WHERE   DBF.type_desc = 'ROWS'

--这里放入需要测量的语句

SELECT  tempdb_read_MB = (SUM(num_of_bytes_read) - @read) / 1024. / 1024., 
        tempdb_write_MB = (SUM(num_of_bytes_written) - @write) / 1024. / 1024.,
        internal_use_MB = 
            (
            SELECT  internal_objects_alloc_page_count / 128.0
            FROM    sys.dm_db_task_space_usage
            WHERE   session_id = @@SPID
            )
FROM    tempdb.sys.database_files AS DBF
JOIN    sys.dm_io_virtual_file_stats(2, NULL) AS FS
        ON FS.file_id = DBF.file_id
WHERE   DBF.type_desc = 'ROWS'
View Code

 

转载于:https://www.cnblogs.com/yuannfei19841121/p/4104624.html

要扩大 SQL Server 的 `tempdb` 数据库空间,你可以按照以下步骤操作: 1. **登录到SQL Server Management Studio (SSMS)** 或者使用T-SQL命令行工具。 2. **确定当前`tempdb`的文件信息**:通过查询如下的系统视图来获取当前文件的信息: ```sql SELECT * FROM sys.master_files WHERE database_id = DB_ID('tempdb') ``` 查看 `file_name`, `file_size` 和 `growth` 等字段。 3. **分析是否可以增加现有文件大小**:如果 `growth` 设置允许,并且文件尚未达到最大值,可以使用 `ALTER DATABASE` 命令来增大单个文件: ```sql ALTER FILE (NAME=<file_name>) ADD SIZE=<new_size>; ``` 将 `<file_name>` 替换为具体的文件名, `<new_size>` 为新的文件大小(单位通常是MB或GB)。 4. **如果需要添加新文件**:如果现有文件已经满了并且不能再增长,可以在 `tempdb` 上创建一个新的文件: ```sql ALTER DATABASE <database_name> ADD FILE (<file_name>, DEFAULT) FILENAME = '<new_file_path>' SIZE = <initial_size>; ``` `<file_name>` 是新的文件名,`<new_file_path>` 是文件的新位置,`<initial_size>` 是初始分配的大小。 5. **重启服务或等待自动收缩**:更改后,可能需要重启 SQL Server 服务才能应用更改,或者让 `tempdb` 自动收缩其他文件释放空间,但这通常需要较长的时间。 6. **监控和调整**:完成后,继续监控 `tempdb` 的使用情况,确保有足够的空间支持日常操作,并根据需要持续调整。 注意,频繁地增加 `tempdb` 文件可能会对性能产生负面影响,所以需要谨慎处理并做好规划。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值