Tempdb空间异常增长,空间不足导致业务中断?
1、如果可以重启 SQL Server,tempdb 会自动重新创建,从而使 tempdb 回归到初始大小。但是量产环境尽量不要重启,除非万不得已。
2、在开始应用里找到SQLSERVER目录,找到SQLSERVER配置管理器并打开;
3、点击左侧的SQL Server服务,选中右侧的SQL Server(MSSQLSERVER)右键重启服务;
1、收缩数据库。在开始应用里找到Microsoft SQL Server Managerment Studio;
2、在对象资源管理器界面中,打开数据库在tempdb节点,点击右键任务---收缩---数据库;
3、点击确定,开始收缩数据库。
1、更改TEMPDAB位置,换到空间容量大的分区;
首先检查tempdb的逻辑名字和当前位置
SELECT name, physical_nameFROM sys.master_filesWHERE database_id = DB_ID('tempdb');
记录下数据库文件的位置(NAME = tempdev,NAME = templog 是逻辑名,FILENAME 指向的是数据库文件的实际位置)
2、停止SQL服务;点击左侧的SQL Server服务,选中右侧的SQL Server(MSSQLSERVER)右键停止服务;
3、在磁盘新位置创建数据库日志文件夹,执行以下脚本:USE master;GOALTER DATABASE tempdb MODIFY FILE (NAME = tempdev, FILENAME = 'D:\tempdb\tempdb.mdf');GOALTER DATABASE tempdb MODIFY FILE (NAME = templog, FILENAME = 'D:\tempdb\templog.ldf');GO
4、执行语句完成后,查看tempdb新位置。
执行SELECT name, physical_nameFROM sys.master_filesWHERE database_id = DB_ID('tempdb');