sqlserver2012 能分离tempdb日志文件吗
答案:2 悬赏:0 手机版
解决时间 2021-03-15 08:55
- 提问者网友:半生酒醒
- 2021-03-14 14:24
sqlserver2012 能分离tempdb日志文件吗
最佳答案
- 五星知识达人网友:行雁书
- 2021-03-14 16:03
数据库的性能是DBA都需要重点关注的,日志文件的增多严重影响数据库的性能,本文将为您介绍SQL Server删除日志文件的方法,供您参考,希望对您有所帮助。
数据库在使用过程中会使日志文件不断增加,使得数据库的性能下降,并且占用大量的磁盘空间。SQL Server数据库都有log文件,log文件记录用户对数据库修改的操作。可以通过直接删除log文件和清空日志在清除数据库日志。
一、删除LOG
1、分离数据库。分离数据库之前一定要做好数据库的全备份,选择数据库——右键——任务——分离。
勾选删除连接.
分离后在数据库列表将看不到已分离的数据库。
2、删除LOG文件
3、附加数据库,附加的时候会提醒找不到log文件。
删除数据库信息信息的ldf文件:
附加数据库之后将生成新的日志文件log,新的日志文件的大小事504K。
也可以通过命令才完成以上的操作:
1
use master;exec sp_detach_db @dbname='TestDB';exec sp_attach_single_file_db @dbname='TestDB',@physname='D:\Program Files\Microsoft SQL Server\MSSQL10.SQL2008\MSSQL\DATA\TestDB.mdf'
二、清空日志
该命令在SQL Server 2005和2000支持,SQL Server 2008不支持该命令。
1
DUMP TRANSACTION TestDB WITH NO_LOG
三、收缩数据库文件
1
DBCC SHRINKFILE ('TestDB_log',1)
四、截断事务日志
1
BACKUP LOG TestDB WITH NO_LOG
该命令在SQL Server 2008也是不支持,在SQL Server 2005和2000可以使用。
数据库在使用过程中会使日志文件不断增加,使得数据库的性能下降,并且占用大量的磁盘空间。SQL Server数据库都有log文件,log文件记录用户对数据库修改的操作。可以通过直接删除log文件和清空日志在清除数据库日志。
一、删除LOG
1、分离数据库。分离数据库之前一定要做好数据库的全备份,选择数据库——右键——任务——分离。
勾选删除连接.
分离后在数据库列表将看不到已分离的数据库。
2、删除LOG文件
3、附加数据库,附加的时候会提醒找不到log文件。
删除数据库信息信息的ldf文件:
附加数据库之后将生成新的日志文件log,新的日志文件的大小事504K。
也可以通过命令才完成以上的操作:
1
use master;exec sp_detach_db @dbname='TestDB';exec sp_attach_single_file_db @dbname='TestDB',@physname='D:\Program Files\Microsoft SQL Server\MSSQL10.SQL2008\MSSQL\DATA\TestDB.mdf'
二、清空日志
该命令在SQL Server 2005和2000支持,SQL Server 2008不支持该命令。
1
DUMP TRANSACTION TestDB WITH NO_LOG
三、收缩数据库文件
1
DBCC SHRINKFILE ('TestDB_log',1)
四、截断事务日志
1
BACKUP LOG TestDB WITH NO_LOG
该命令在SQL Server 2008也是不支持,在SQL Server 2005和2000可以使用。
全部回答
- 1楼网友:忘川信使
- 2021-03-14 16:45
肯定有影响,先说说tempdb数据库的作用吧:
tempdb 数据库保存系统运行过程中产生的临时表和存储过程。当然,它还满足其他的临时存储要求,比如保存sql server生成的存储表等。tempdb 数据库是一个全局咨询,任何连接到系统的用户都可以在该数据库中产生临时表和存储过程。tempdb 数据库在每次sql server启动的时候,都会清空该数据库中的内容,所以每次启动sql server后,该表都是干净的。临时表和存储过程在连接断开后会自动除去,而且当系统关闭后不会有任何活动连接,因此,tempdb 数据库中没有任何内容会从sql server的一个会话保存到另外一个会话中。
默认情况下,在 sql server 在运行时 tempdb 数据库会根据需要自动增长。不过,与其它数据库不同,每次启动数据库引擎时,它会重置为其初始大小。如果为 tempdb 数据库定义的大小较小,则每次重新启动 sql server时,将tempdb 数据库的大小自动增加到支持工作负荷所需的大小这一工作可能会成为系统处理负荷的一部分。为避免这种开销,可以使用 alter database 增加 tempdb 数据库的大小。
其实总体来说tempdb数据库是很重要的,也是你提升sql运行速度的一个手段,所以,tempdb的日志已满,说明的数据库文件初始化设定值太小,建议你增大到500mb,我一直都这样用,当然你可以依据实际情况设定大小
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯