日志已经很大的时候用
2008-04-28 17:54
148 查看
--假设test2为名称
日志已经很大的时候用
方法一
此方法适用于7.0和2000。
1、在查询分析器中执行:
execsp_detach_db'DB_Name'
2、在我的电脑中将日志的物理文件xxx_Log.LDF改名。
3、在查询分析器中执行:
execsp_attach_single_file_db'DB_Name','C:/ProgramFiles/Microsoft//Data/DB_Name.MDF'
4、如果上一步成功,将步骤2中改名后的文件删除。如果上一步不成功,改回原来的文件名,
用sp_attach_db将数据库附加到服务器,然后用方法二。
方法二
6.X中
DUMPTRANSACTIONtest2withNO_LOG
DUMPTRANSACTIONtest2withTRUNCATE_ONLY
将上面的语句多次执行,直到日志缩小。
7.0和2000中
backuplogtest2withNO_LOG
backuplogtest2withTRUNCATE_ONLY
DBCCSHRINKDATABASE(test2)
将上面的语句多次执行,直到日志文件缩小。
上面的方法治标不治本,标本兼治要用下面的方法。
方法三:
--6.X和7.0中改为日志处于截断模式,2000中恢复模型改为简单恢复
execsp_dboption'test2','trunc.logonchkpt.','on'
--7.0和2000中设为自动收缩,6.x中不用执行。
execsp_dboption'test2','autoshrink','on'
通常用于测试环境。
方法四:
--7.0中改为日志不处于截断模式,2000中恢复模型改为完全恢复
execsp_dboption'test2','trunc.logonchkpt.','off'
--7.0和2000中设为自动收缩,6.x中不用执行。
execsp_dboption'test2','autoshrink','on'
建立作业,每半个小时一次日志备份,每天一次完全数据库备份。
7.0和2000中:在Log收缩到正常大小后,将autoshrink选项设置为off。
通常用于真实环境。
在产品化系统中将autoshrink选项设置为开启状态并非明智之举(除非您真的需要这样做),这是因为,当您的系统正在忙于完成其它任务时,autoshrink选项可能会同时启动,从而降低系统运行速度。然而,对于那些数据库管理员无暇估计并且数据库尺寸有可能在您毫无察觉的情况下超出控制范围的桌面或远程系统来说,开启这一选项却是一种非常有效的措施。
收缩事务日志
在下列情况下,日志文件的物理大小将减少:
*执行DBCCSHRINKDATABASE语句时。
*执行引用日志文件的DBCCSHRINKFILE语句时。
*自动收缩操作发生时。
日志收缩操作依赖于最初的日志截断操作。日志截断操作不减小物理日志文件的大小,但减小逻辑日志的大小,并将没有容纳逻辑日志任何部分的虚拟日志标记为不活动。日志收缩操作会删除足够多的不活动虚拟日志,将日志文件减小到要求的大小。
按下面任一方式控制事务日志的大小:
*在维护日志备份序列时,调度BACKUPLOG语句按间隔发生,以使事务日志不致增长到超过预期的大小。
*当不维护日志备份序列时,指定简单恢复模式。
详情请参考MSSQLServer2000联机丛书:
目录-->SQLServer构架-->数据库构架-->物理数据库构架-->事务日志构架-->收缩事务日志
目录-->SQLServer构架-->数据库构架-->物理数据库构架-->事务日志构架-->截断事务日志
日志已经很大的时候用
方法一
此方法适用于7.0和2000。
1、在查询分析器中执行:
execsp_detach_db'DB_Name'
2、在我的电脑中将日志的物理文件xxx_Log.LDF改名。
3、在查询分析器中执行:
execsp_attach_single_file_db'DB_Name','C:/ProgramFiles/Microsoft//Data/DB_Name.MDF'
4、如果上一步成功,将步骤2中改名后的文件删除。如果上一步不成功,改回原来的文件名,
用sp_attach_db将数据库附加到服务器,然后用方法二。
方法二
6.X中
DUMPTRANSACTIONtest2withNO_LOG
DUMPTRANSACTIONtest2withTRUNCATE_ONLY
将上面的语句多次执行,直到日志缩小。
7.0和2000中
backuplogtest2withNO_LOG
backuplogtest2withTRUNCATE_ONLY
DBCCSHRINKDATABASE(test2)
将上面的语句多次执行,直到日志文件缩小。
上面的方法治标不治本,标本兼治要用下面的方法。
方法三:
--6.X和7.0中改为日志处于截断模式,2000中恢复模型改为简单恢复
execsp_dboption'test2','trunc.logonchkpt.','on'
--7.0和2000中设为自动收缩,6.x中不用执行。
execsp_dboption'test2','autoshrink','on'
通常用于测试环境。
方法四:
--7.0中改为日志不处于截断模式,2000中恢复模型改为完全恢复
execsp_dboption'test2','trunc.logonchkpt.','off'
--7.0和2000中设为自动收缩,6.x中不用执行。
execsp_dboption'test2','autoshrink','on'
建立作业,每半个小时一次日志备份,每天一次完全数据库备份。
7.0和2000中:在Log收缩到正常大小后,将autoshrink选项设置为off。
通常用于真实环境。
在产品化系统中将autoshrink选项设置为开启状态并非明智之举(除非您真的需要这样做),这是因为,当您的系统正在忙于完成其它任务时,autoshrink选项可能会同时启动,从而降低系统运行速度。然而,对于那些数据库管理员无暇估计并且数据库尺寸有可能在您毫无察觉的情况下超出控制范围的桌面或远程系统来说,开启这一选项却是一种非常有效的措施。
收缩事务日志
在下列情况下,日志文件的物理大小将减少:
*执行DBCCSHRINKDATABASE语句时。
*执行引用日志文件的DBCCSHRINKFILE语句时。
*自动收缩操作发生时。
日志收缩操作依赖于最初的日志截断操作。日志截断操作不减小物理日志文件的大小,但减小逻辑日志的大小,并将没有容纳逻辑日志任何部分的虚拟日志标记为不活动。日志收缩操作会删除足够多的不活动虚拟日志,将日志文件减小到要求的大小。
按下面任一方式控制事务日志的大小:
*在维护日志备份序列时,调度BACKUPLOG语句按间隔发生,以使事务日志不致增长到超过预期的大小。
*当不维护日志备份序列时,指定简单恢复模式。
详情请参考MSSQLServer2000联机丛书:
目录-->SQLServer构架-->数据库构架-->物理数据库构架-->事务日志构架-->收缩事务日志
目录-->SQLServer构架-->数据库构架-->物理数据库构架-->事务日志构架-->截断事务日志
相关文章推荐
- 日志已经很大的时候用
- 在记录异常日志的时候包含源代码文件名和行号等信息
- 在一开始的时候,就已经出现
- C#中出现了一个问题,就是程序主窗体已经打开,在调用子窗体时候出现了创建窗口句柄时出错。
- 当段子手已经hi起来的时候,产品经理也来瞎逼逼一下faceid
- 使用Freemarker+springMVC时用Ajax加载数据,已经后台执行了,但是跳转到前台的时候报错
- 一般来说我们总会在设置Block之后,在合适的时间回调Block,而不希望回调Block的时候Block已经被释放了,所以我们需要对Block进行copy,copy到堆中,以便后用。 当一个Bloc
- pvfs2.8.2与pvfs2.7.1的操作的状态机流程已经由很大的区别了
- 看到xml的时候我已经基本非常清楚元素和方法的区别了
- 删除redoLog的时候出错--归档日志未写完。
- 在用户注册时候,自动检测用户名已经存在
- 在用HttpWebRequest的时候,发现返回"基础连接已经关闭: 该服务器提交了 HTTP 协议冲突
- 新写了一个简单的日志监控shell脚本(之前的问题已经修复)
- 《SQL Server企业级平台管理实践》读书笔记——当我们的备份都已经损坏的时候该怎么办
- 使用华为手机debug代码的时候没有日志输出怎么办?
- PSU打oracle的时候显示已经succeed
- 过去的记忆,已经无动于衷:QQ空间伤感日志
- 从TextBox添加到DataTable填充到GridView中显示之【此过程同时检测某个字段时候已经存在】
- 现在已经到了考虑云计算的时候
- 过滤器,但是asp.net 提交时候怎么过滤form里的具体值呢,大部分提交又不是访问页,已经解决