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