SQL Server 2005 大容量日志恢复

WBOY
发布: 2016-06-07 14:56:17
原创
1263 人浏览过

你负责管理一个 SQL Server 2005 数据库。此数据库使用来自另一个网站导出的数据进行数据更新。以月为基础,每月都用 bcp 命令从一个纯文本文件将数据导入数据库。此操作应占用最小的日志纪录。然而,用户反映他们收到错误信息显示事务日志已满。你调查并发现

你负责管理一个 SQL Server 2005 数据库。此数据库使用来自另一个网站导出的数据进行数据更新。以月为基础,每月都用 bcp 命令从一个纯文本文件将数据导入数据库。此操作应占用最小的日志纪录。然而,用户反映他们收到错误信息显示事务日志已满。你调查并发现错误发生在导入数据时。需要阻止此错误的发生。
--在SSMS中的“数据库属性”页上可以查看为一个给定数据库指定的恢复模式,对此也可以通过查询sys.database目录视图,其基本语法如下所示:

SELECT name, recovery_model_desc FROM sys.databases

--使用ALTER DATABASE语句配置恢复模式的基本语法如下:

ALTER DATABASE <database_name>

SET RECOVERY FULL | SIMPLE | BULK_LOGGED

--如前所述,在生产环境下建议对数据库使用完整恢复模式,因为它提供了最可恢复的配置。如果通过大容量机制定期导入数据,则可以临时将数据库的恢复模式改变为大容量日志模式,以获得更好的大容量负载性能。然而,在导入过程结束以后,应将数据库恢复为完整恢复模式。

--练习:改变数据库的恢复模式
--本练习将数据库恢复模式改变为大容量日志,以获得大容量日志操作的良好性能,然后恢复到完整恢复模式。

--1.     通过执行如下ALTER DATABASE语句,将AdventureWorks数据库的数据库恢复模式设置为大容量日志恢复模式。(在改变恢复模式前,对该数据库作完整备份。)

-- Note that you should create the C:\Backup folder at Operating 
    System level before running this backup.

BACKUP DATABASE AdventureWorks TO DISK='C:\Backup\AdventureWorks.Bak'

GO

--Change the Recovery Model to Bulk Logged

ALTER DATABASE AdventureWorks

SET RECOVERY BULK_LOGGED

--2.    在执行大容量日志操作以后,输入并运行如下ALTER DATABASE语句,将恢复模式改回完整恢复模式,然后执行另一次完整的数据库备份,以备份刚刚装入的数据。

ALTER DATABASE AdventureWorks

SET RECOVERY FULL

--Perform a Full database backup

BACKUP DATABASE AdventureWorks TO DISK='C:\Backup\
AdventureWorks.Bak'

GO

登录后复制
相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板