首页 > 数据库 >使用sql脚本建立sql server备份作业

使用sql脚本建立sql server备份作业

时间:2023-07-25 15:03:05浏览次数:27  
标签:name 备份 SQL 作业 server job sql GO

使用SQL脚本建立SQL Server备份作业

在SQL Server中,备份数据是一项非常重要的任务。为了简化备份过程并确保数据的安全性,可以使用SQL Server的作业来自动执行备份任务。本文将介绍如何使用SQL脚本建立SQL Server备份作业。

创建备份目录

首先,我们需要创建一个用于存储备份文件的目录。可以选择一个合适的目录,并确保数据库引擎服务帐户具有在该目录中写入文件的权限。例如,可以创建一个名为C:\Backup的目录。

创建备份作业

接下来,我们将创建一个SQL Server作业来执行备份任务。作业是由作业步骤组成的,每个作业步骤定义了作业执行期间要执行的一组任务。在我们的例子中,我们将创建一个作业步骤来执行备份任务。

在SQL Server Management Studio中,打开一个新的查询窗口,并运行以下代码来创建一个作业。

USE msdb;
GO

-- 删除现有的备份作业(可选)
EXEC dbo.sp_delete_job  
    @job_name = N'BackupJob',  
    @delete_unused_schedule=1;
GO

-- 创建一个新的备份作业
EXEC dbo.sp_add_job  
    @job_name = N'BackupJob',  
    @enabled = 1,  
    @notify_level_eventlog = 0,  
    @notify_level_email = 0,  
    @notify_level_netsend = 0,  
    @notify_level_page = 0,  
    @delete_level= 0,  
    @description = N'Backup job',  
    @category_name = N'[Uncategorized (Local)]',  
    @owner_login_name = N'sa';
GO

以上代码创建了一个名为BackupJob的作业,并将其所有通知级别设置为0(即禁用通知)。你可以根据需要进行调整。

创建作业步骤

接下来,我们将为作业创建一个作业步骤,在该步骤中执行备份任务。在我们的例子中,我们将执行完整备份。

继续在之前的查询窗口中运行以下代码来添加一个作业步骤。

USE msdb;
GO

-- 删除现有的备份作业步骤(可选)
EXEC dbo.sp_delete_jobstep  
    @job_name = N'BackupJob',  
    @step_id = 1;
GO

-- 创建一个新的备份作业步骤
EXEC dbo.sp_add_jobstep  
    @job_name = N'BackupJob',  
    @step_name = N'BackupStep',  
    @subsystem = N'TSQL',  
    @command = N'BACKUP DATABASE YourDatabaseName TO DISK = N''C:\Backup\YourDatabaseName.bak'' WITH INIT',  
    @retry_attempts = 5,  
    @retry_interval = 5;
GO

在以上代码中,将YourDatabaseName替换为要备份的数据库的名称,并将C:\Backup\YourDatabaseName.bak替换为要保存备份文件的路径和文件名。你可以根据需要进行调整。

配置作业计划

最后,我们需要为作业配置一个计划,以决定作业何时运行。在我们的例子中,我们将配置作业每天凌晨2点运行。

继续在之前的查询窗口中运行以下代码来添加一个作业计划。

USE msdb;
GO

-- 删除现有的备份作业计划(可选)
EXEC dbo.sp_delete_schedule  
    @schedule_name = N'BackupSchedule';
GO

-- 创建一个新的备份作业计划
EXEC dbo.sp_add_schedule  
    @schedule_name = N'BackupSchedule',  
    @freq_type = 4,  
    @active_start_time = 20000,  
    @active_end_time = 235959;
GO

-- 将作业与计划关联
EXEC dbo.sp_attach_schedule  
    @job_name = N'BackupJob',  
    @schedule_name = N'BackupSchedule';
GO

在以上代码中,@active_start_time的值为作业开始的时间(24小时格式,例如20000表示晚上8点),@active_end_time的值为作业结束的时间(24小时格式,例如235959表示晚上11点59分59秒)。你可以根

标签:name,备份,SQL,作业,server,job,sql,GO
From: https://blog.51cto.com/u_16175478/6845461

相关文章

  • Mysql联合索引是如何找到数据的
    比较简单的是单列索引(b+tree)。遇到多条件查询时,不可避免会使用到多列索引。联合索引又叫复合索引。b+tree结构如下:每一个磁盘块在mysql中是一个页,页大小是固定的,mysqlinnodb的默认的页大小是16k,每个索引会分配在页上的数量是由字段的大小决定。当字段值的长度越长,每一页上的数......
  • ubuntu22.04部署mysql---主从
    1、首先部署mysql主服务:详见上一篇《ubuntu22.04部署mysql---单机》https://blog.51cto.com/u_14175560/6766135上述部署好后,主节点server_id:vim/etc/mysql/my.cnf##新增配置:[mysqld]server_id=1重启mysql:systemctlrestartmysql登录mysql,指定从节点IP,运行下述(注意修改......
  • Oracle数据类型与对应的PostgreSQL数据类型(oracle 19c 迁移到kingbase)
    Oracle数据类型与对应的PostgreSQL数据类型的映射:1.数值类型:-OracleNUMBER->PostgreSQLNUMERIC-OracleINTEGER->PostgreSQLINTEGER-OracleBINARY_FLOAT->PostgreSQLREAL-OracleBINARY_DOUBLE->PostgreSQLDOUBLEPRECISION2.字符串类型:-Or......
  • 常用的Access数据库Sql操作辅助类库
    ///<summary>///常用的Access数据库Sql操作辅助类库///</summary>publicclassOleDbHelper{privatestringconnectionString="";privateconststringaccessPrefix="Provider=Microsoft.Jet.OLEDB.4.0;Data......
  • OSql命令操作函数(可用于安装程序的时候数据库脚本执行)
    ///<summary>///OSql命令操作函数(可用于安装程序的时候数据库脚本执行)///</summary>publicclassSqlScriptHelper{#regionOSql操作函数///<summary>///本地执行SQL脚本///</summary>///<paramname=......
  • Centos8/linux下载、安装、配置、连接MySQL5.7(rpm方式)
    目录问题现象:问题分析:解决方法:下载:安装:配置:连接:拓展 问题现象:    今天在使用Centos8安装MySQL5.7的rpm包时,出现如下报错:        仓库"MySQL5.7CommunityServer"的GPG公钥已安装,但是不适用于此软件包。        最终问题解决了,但......
  • SQL 语句获取数据库各表分配空间、占用空间、记录行数
    SELECT    t.NAME AS TableName,    s.Name AS SchemaName,    p.rows AS RowCounts,    SUM(a.total_pages)*8 AS TotalSpaceKB,    CAST(ROUND(((SUM(a.total_pages)*8)/1024.00),2) AS NUMERIC(36,2)) AS TotalSpaceMB,    SUM(a.......
  • SP_CreateModel,sql server 自动生成表的实体类的通用存储过程
    --调用该sp,执行语句即可--EXECdbo.SP_CreateModel't_Buss_LargeScreenTotalInfoByMonth' SETQUOTED_IDENTIFIERONSETANSI_NULLSONGOALTERPROCEDURESP_CreateModel( @TableNamesysname)ASBEGIN --declare@TableNamesysname='T1' declare@Result......
  • es和mysql的查询语句对比
    ES(Elasticsearch)和MySQL是两种常用的数据库查询工具,它们在查询语句的使用和对应关系上有一些区别。本文将对比ES和MySQL的查询语句,并详细介绍它们的对应关系。首先,我们来看一下ES的查询语句。ES是一种分布式搜索和分析引擎,它使用JSON格式的查询语句来进行数据检索。ES的查询语句可......
  • 深入理解Mysql索引
    在数据库中,最常用的SQL操作之一就是SELECT语句,它负责数据的检索。而在SELECT语句背后,与索引的交互密不可分。为了优化数据库性能和加快查询速度,开发者们往往优先考虑调整索引。让我们深入了解索引的背后故事。这篇文章将从什么是索引,索引的分类,索引的底层数据数据结构,跟大家一起......