管理 SQL Server 的事务日志
作者 佚名技术
来源 数据库编程
浏览
发布时间 2012-03-21
,数据库只能被恢复到最后一次备份的时间点,而在最后一次备份之后执行的事务将会丢失。这种模式通常用于系统数据库、或者用于测试和开发阶段。或者是几乎仅有只读情况的数据仓库数据库。这种情况下,一些操作只是尽可能少的被记录。 完整模式(Full): 由于这种模式可以提示指定时间点的恢复,因此它可以备份并且也应当进行备份。这种模式比简单模式的风险要小。但是,在完整模式下,所有的操作都被完整的记录,包括大数据量操作。这种模式适用于生产环境。 大数据量记录模式(Bulk Logged): 这种模式可以看作是完整模式的补充,因为在这种模式下,大数量操作只是被最小化的记录。例如,你可能要大量的加载数据但你不希望这些事务日志被记录,因为你只是希望加载数据而已。在这种情况下,你可以在导入数据时,将模式由完整模式切换到大数据量模式,执行完后,再恢复到完整模式。(需要注意的是:在切换回完整模式后,你应当做一次完整备份) 你可以在数据库上通过执行 ALTER DATABASE 语句,和指定 Set Recovery 来切换这些模式,例子如下: USE master; ALTER DATABASE EmployeeDB SET RECOVERY FULL; 在上面的代码中,我修改了 EmployeeDB 数据库,并将恢复模式设置为完整模式 FULL。注意:由于默认的 model 数据库是被配置为完整模式 Full ,这也意味着 EmployeeDB 数据库被自动配置为完整模式,因为它是继承自 model 数据库的。 所以,如果在你的服务器上, model 数据库的默认设置没有被更改的话,上面的的例子中 ALTER DATABASE 并不会改变什么,但是你要注意,当你将数据从 简单模式 切换到完整模式时,有时候必须执行一些其它步骤,例如进行一个完整备份。在SQL Server 在线教程中主题 "Considerations for Switching from the Simple Recovery Model" 描述了将数据库的恢复模式从简单模式转换为完整模式或大容量模式时,有哪些步骤要执行。 你也可以在 SQL Server Management Studio中设置恢复模式。在对象浏览器中右键单击数据库名称,并选择“属性”,在数据库属性对话框中,单击选项页,并设置恢复模式属性。 监控日志文件 在维护数据库的事务日志过程中,你可能需要经常获取日志的一些信息以便检查其设置或者已经使用了多少日志空间。一种方法是使用 sys.database_files 分类视图,这个视图返回关于数据库文件的详细信息,包括:文件类型、当前文件大小、以及文件增长设置。 在下面的例子中,我使用 sys.database_files 来获取 EmployeeDB 数据库的日志文件的数据: USE EmployeeDB; SELECT name, size, -- in 8-KB pages max_size, -- in 8-KB pages growth, is_percent_growth FROM sys.database_files WHERE type_desc = ''LOG'' 这条语句返回了当前的文件大小(按8-KB的页面大小),文件可增长到的最大大小 (同样按 8_KB 的页面大小),增长率和是否按百分比增长标记。该标记指示数据库文件的大小按何种方式增长。如果标记被设置为0,那么增长率就是 8-KB ,如果设置为 1,则按百分比增长。 上述代码返回的结果大致如下: Name size max_size growth is_percent_growth EmployeeDB_log 128 268435456 10 1 如结果中所示,这条语句只返回一行记录。这是因为 EmployeeDB 只配置了一个日志文件。上面的结果还反映了 EmployeeDB_log 的当前文件大小是 128 个8-KB 的页面大小,它可以增长到 268,435,456 个8-KB 的页面大小,增长率是按 10%的速率。 你还可以使 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于管理 SQL Server 的事务日志的所有评论