SQL Server 2005 大容量日志恢复
程序员文章站
2022-05-21 09:57:43
...
你负责管理一个 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
推荐阅读
-
sql server2005进程无法向表"dbo"."xxx"进行大容量复制(错误号: MSSQL_REPL20037)
-
sql server2005进程无法向表"dbo"."xxx"进行大容量复制(错误号: MSSQL_REPL20037)
-
SQL Server恢复模型之批量日志恢复模式
-
SQL Server误区30日谈 第28天 有关大容量事务日志恢复模式的误区
-
SQL Server无日志恢复数据库(2种方法)
-
SQL语句实现SQL Server 2000及Sql Server 2005日志收缩(批量)
-
SQL Server 2005删除日志文件的几种方法小结
-
SQL Server恢复模型之批量日志恢复模式
-
SQL Server 2000/2005/2008删除或压缩数据库日志的方法
-
SQL Server数据库的三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢复模式