TempDB 收缩方法

1.重启服务,tempdb自动重建

2.执行脚本,避免服务重启
USE [tempdb]
GO
dbcc  freesystemcache('ALL')
Go
DBCC SHRINKfile(N'tempdev' ,10240) --收缩到2MB 
GO

-----------------------------------

3.

--1.清空县志
DUMP TRANSACTION tempdb WITH NO_LOG
--2.截断事务日志:
BACKUP LOG tempdb WITH NO_LOG
--3.收缩业话库大件
dbcc shrinkfile(templog,emptyfile);

查占用大的语句

use tempdb  
go  
SELECT top 10 t1.session_id,                                                      
t1.internal_objects_alloc_page_count,  t1.user_objects_alloc_page_count,  
t1.internal_objects_dealloc_page_count , t1.user_objects_dealloc_page_count,  
t3.login_name,t3.status,t3.total_elapsed_time  
from sys.dm_db_session_space_usage  t1   
inner join sys.dm_exec_sessions as t3   
on t1.session_id = t3.session_id   
where (t1.internal_objects_alloc_page_count>0   
or t1.user_objects_alloc_page_count >0  
or t1.internal_objects_dealloc_page_count>0   
or t1.user_objects_dealloc_page_count>0)  
order by t1.internal_objects_alloc_page_count desc  


select s.text,p.*
from master.dbo.sysprocesses p   
cross apply sys.dm_exec_sql_text(p.sql_handle) s  
where spid = 61  

要扩大 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` 文件可能会对性能产生负面影响,所以需要谨慎处理并做好规划。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值