SQL Server 2005备份失败
|
我有一个完全恢复模型的数据库.此数据库的事务日志备份(通过维护计划安排)每晚失败. 这是数据库的CREATE语句等: USE [master]
GO
/****** Object: Database [Gatekeeper] Script Date: 05/18/2009 15:31:26 ******/
CREATE DATABASE [Gatekeeper] ON PRIMARY
( NAME = N'Gatekeeper_dat',FILENAME = N'F:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDATAGatekeeper.mdf',SIZE = 20480KB,MAXSIZE = UNLIMITED,FILEGROWTH = 1024KB )
LOG ON
( NAME = N'Gatekeeper_log',FILENAME = N'E:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLDATAGatekeeper.ldf',SIZE = 10240KB,MAXSIZE = 2048GB,FILEGROWTH = 10%)
COLLATE SQL_Latin1_General_CP1_CI_AS
GO
EXEC dbo.sp_dbcmptlevel @dbname=N'Gatekeeper',@new_cmptlevel=90
GO
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC [Gatekeeper].[dbo].[sp_fulltext_database] @action = 'enable'
end
GO
ALTER DATABASE [Gatekeeper] SET ANSI_NULL_DEFAULT OFF
GO
ALTER DATABASE [Gatekeeper] SET ANSI_NULLS OFF
GO
ALTER DATABASE [Gatekeeper] SET ANSI_PADDING OFF
GO
ALTER DATABASE [Gatekeeper] SET ANSI_WARNINGS OFF
GO
ALTER DATABASE [Gatekeeper] SET ARITHABORT OFF
GO
ALTER DATABASE [Gatekeeper] SET AUTO_CLOSE OFF
GO
ALTER DATABASE [Gatekeeper] SET AUTO_CREATE_STATISTICS ON
GO
ALTER DATABASE [Gatekeeper] SET AUTO_SHRINK OFF
GO
ALTER DATABASE [Gatekeeper] SET AUTO_UPDATE_STATISTICS ON
GO
ALTER DATABASE [Gatekeeper] SET CURSOR_CLOSE_ON_COMMIT OFF
GO
ALTER DATABASE [Gatekeeper] SET CURSOR_DEFAULT GLOBAL
GO
ALTER DATABASE [Gatekeeper] SET CONCAT_NULL_YIELDS_NULL OFF
GO
ALTER DATABASE [Gatekeeper] SET NUMERIC_ROUNDABORT OFF
GO
ALTER DATABASE [Gatekeeper] SET QUOTED_IDENTIFIER OFF
GO
ALTER DATABASE [Gatekeeper] SET RECURSIVE_TRIGGERS OFF
GO
ALTER DATABASE [Gatekeeper] SET DISABLE_BROKER
GO
ALTER DATABASE [Gatekeeper] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
GO
ALTER DATABASE [Gatekeeper] SET DATE_CORRELATION_OPTIMIZATION OFF
GO
ALTER DATABASE [Gatekeeper] SET TRUSTWORTHY OFF
GO
ALTER DATABASE [Gatekeeper] SET ALLOW_SNAPSHOT_ISOLATION OFF
GO
ALTER DATABASE [Gatekeeper] SET PARAMETERIZATION SIMPLE
GO
ALTER DATABASE [Gatekeeper] SET READ_WRITE
GO
ALTER DATABASE [Gatekeeper] SET RECOVERY FULL
GO
ALTER DATABASE [Gatekeeper] SET MULTI_USER
GO
ALTER DATABASE [Gatekeeper] SET PAGE_VERIFY CHECKSUM
GO
ALTER DATABASE [Gatekeeper] SET DB_CHAINING OFF
以下是维护计划的错误消息: Executing the query "BACKUP LOG [Gatekeeper] TO DISK = N'C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLBackupGatekeeperGatekeeper_backup_200905180100.trn' WITH NOFORMAT,NOINIT,NAME = N'Gatekeeper_backup_20090518010003',SKIP,REWIND,NOUNLOAD,STATS = 10 " failed with the following error: "BACKUP LOG cannot be performed because there is no current database backup. BACKUP LOG is terminating abnormally.". Possible failure reasons: Problems with the query,"ResultSet" property not set correctly,parameters not set correctly,or connection not established correctly. 以下是维护计划中的相关代码: EXECUTE master.dbo.xp_create_subdir N'C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLBackupGatekeeper' GO declare @backupSetId as int select @backupSetId = position from msdb..backupset where database_name=N'Gatekeeper' and backup_set_id=(select max(backup_set_id) from msdb..backupset where database_name=N'Gatekeeper' ) if @backupSetId is null begin raiserror(N'Verify failed. Backup information for database ''Gatekeeper'' not found.',16,1) end RESTORE VERIFYONLY FROM DISK = N'C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLBackupGatekeeperGatekeeper_backup_200905190812.trn' WITH FILE = @backupSetId,NOREWIND GO 解决方法除非有完整的数据库备份作为其“基础”,否则无法进行日志备份.如果您刚刚切换到FULL恢复模型,那么在您进行第一次数据库备份之前,数据库并不存在 – 它仍处于伪SIMPLE模式.此外,如果您执行某些操作来破坏日志备份链,正如UndertheFold所提到的那样,您需要使用另一个完整备份重新建立日志备份链. [编辑] SELECT [backup_start_date],[backup_end_date] FROM msdb.dbo.backupset 或列出所有备份及其类型(自备份历史记录表被手动清除以来): SELECT [backup_start_date],[backup_end_date],[type] FROM msdb.dbo.backupset D =数据库备份,L =日志备份,I =差异数据库备份. 有关’backupset’的联机丛书中的更多信息 希望这可以帮助 (编辑:91站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

