使用T-SQL进行数据库备份并检查该备份文件是否存在且作出相应处理

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 17:05 点击:

USE master
GO
EXEC sp_addumpdevice 'disk', 'AdvWorksData',
'E:\开发软件\数据库\SQl2005示例数据库\AdvWorksData.bak'
BACKUP DATABASE AdventureWorks
   TO AdvWorksData

1.备份数据库语句:

EXEC sp_addumpdevice 'disk','数据库备份名称','文件路径'

BACKUP DATABASE 数据库名称
TO 数据库备份名称

2.sp_addumpdevice

代码
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

ALTER procedure [sys].[sp_addumpdevice]    -- 1995/09/07 12:01
    @devtype varchar(20),                -- disk, tape, or virtual_device
    @logicalname   sysname,                -- logical name of the device
    @physicalname  nvarchar(260),        -- physical name of the device
    @cntrltype  smallint = null,        -- obsolete: controller type - ignored.
    @devstatus  varchar(40) = null      -- obsolete: device characteristics -ignored
as
    declare @type_enum    smallint -- devtype enumeration value
    declare @returncode int
    declare @devtypeIn varchar(20)
    select @devtypeIn = @devtype
           ,@devtype = LOWER (@devtype collate Latin1_General_CI_AS)
    -- An open txn might jeopardize a recovery.
    set implicit_transactions off
    if @@trancount > 0
    begin
        raiserror(15002,-1,-1,'sys.sp_addumpdevice')
        return (1)
    end

    -- You must be SA to execute this sproc.
    if (not is_srvrolemember('diskadmin') = 1)
    begin
        raiserror(15247,-1,-1)
        return (1)
    end

    -- Check out the @devtype.
    select @type_enum = (case @devtype
        when 'disk'                then 2
        when 'tape'                then 5
        when 'virtual_device'    then 7
        end)

    if @type_enum is null
    begin
        raiserror(15044,-1,-1,@devtypeIn)
        return (1)
    end

    -- Check the args are not NULL.
    if @logicalname is null
    begin
        raiserror(15045,-1,-1)
        return(1)
    end

    -- Check to see that the @logicalname is valid.
    EXEC @returncode = sys.sp_validname @logicalname
    if @returncode <> 0
        return(1)

    if @physicalname is null
    begin
        raiserror

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • sql常见面试题
      • SQL SERVER 2005性能之跟踪
      • SQL编程(一)
      • LINUX上RMAN自动备份脚本
      • sql server面试题
      • 如何将多个SQL查询统计结果一次显示出来
      • 浅谈SQL Server中的事务日志(三)----在简单恢复模式下日志的角色
      • SQL小技巧系列 --- 行转列合并
      • sql server 列转行
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1