如何每天备份SqlServer-2008数据库 [英] How to take backup of a SqlServer-2008 database on every day

查看:73
本文介绍了如何每天备份SqlServer-2008数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

程序员

我需要使用Sql Jobs每天在00:01 AM备份我的Sql-Server-2008数据库.
情况就像:
需要在过去24小时内完成所有与数据库的交易.像添加的列,添加的表,插入到表中的数据等.

请帮助我在SqlServer中编写查询或在C#中编写代码

在此先感谢...

Hi, Programmers

I need to take a backup of my Sql-Server - 2008 database on everyday at 00:01AM by using Sql Jobs.
The Scenario is like:
Need to Get all the transactions done to the DB on last 24 hrs. Like added Columns,Added Tables,Inserted data in to the tables etc..

Please Help me to write a Query in SqlServer or Code in C#

Thanks in Advance...

推荐答案

以下脚本备份数据库并将其计划到12.00AM
Below script backups the database and schedules it to 12.00AM
USE [msdb]
GO
DECLARE @jobId BINARY(16)
EXEC  msdb.dbo.sp_add_job @job_name=N'Back Up Database - databaseName', 
		@enabled=1, 
		@notify_level_eventlog=0, 
		@notify_level_email=2, 
		@notify_level_netsend=2, 
		@notify_level_page=2, 
		@delete_level=0, 
		@category_name=N'[Uncategorized (Local)]', 
		@owner_login_name=N'sa', @job_id = @jobId OUTPUT
select @jobId
GO
EXEC msdb.dbo.sp_add_jobserver @job_name=N'Back Up Database - databaseName', @server_name = N'servername\instance'
GO
USE [msdb]
GO
EXEC msdb.dbo.sp_add_jobstep @job_name=N'Back Up Database - databaseName', @step_name=N'1', 
		@step_id=1, 
		@cmdexec_success_code=0, 
		@on_success_action=1, 
		@on_fail_action=2, 
		@retry_attempts=0, 
		@retry_interval=0, 
		@os_run_priority=0, @subsystem=N'TSQL', 
		@command=N'BACKUP DATABASE [DatabaseName] TO  DISK = N''D:\DbFilepath\dbFileName.bak'' WITH NOFORMAT, NOINIT,  NAME = N''Full Database Backup'', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
GO
', 
		@database_name=N'master', 
		@flags=0
GO
USE [msdb]
GO
EXEC msdb.dbo.sp_update_job @job_name=N'Back Up Database - databaseName', 
		@enabled=1, 
		@start_step_id=1, 
		@notify_level_eventlog=0, 
		@notify_level_email=2, 
		@notify_level_netsend=2, 
		@notify_level_page=2, 
		@delete_level=0, 
		@description=N'', 
		@category_name=N'[Uncategorized (Local)]', 
		@owner_login_name=N'sa', 
		@notify_email_operator_name=N'', 
		@notify_netsend_operator_name=N'', 
		@notify_page_operator_name=N''
GO
USE [msdb]
GO
DECLARE @schedule_id int
EXEC msdb.dbo.sp_add_jobschedule @job_name=N'Back Up Database - databaseName', @name=N'DailyBackup', 
		@enabled=1, 
		@freq_type=4, 
		@freq_interval=1, 
		@freq_subday_type=1, 
		@freq_subday_interval=0, 
		@freq_relative_interval=0, 
		@freq_recurrence_factor=1, 
		@active_start_date=20111024, 
		@active_end_date=99991231, 
		@active_start_time=0, 
		@active_end_time=235959, @schedule_id = @schedule_id OUTPUT
select @schedule_id
GO


更改脚本中的值


change the values from the script

databaseName - database to backup
servername\instance - servername and sqlserver instance name
D:\DbFilepath\dbFileName.bak - backup file path


这篇关于如何每天备份SqlServer-2008数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆