IF OBJECT_ID('up_backDataBase') IS NOT NULL
DROP PROCEDURE up_backDataBase
GO
CREATE PROCEDURE up_backDataBase
AS
BEGIN
IF EXISTS(SELECT * FROM sys.backup_devices WHERE name = 'LDDataBase_bak')
       EXEC sp_dropdevice 'LDDataBase_bak'
    EXEC sp_addumpdevice 'disk','LDDataBase_bak','D:\BackUp\LDDataBase_bak'
    BACKUP DATABASE LDRoadWeatherInfo TO LDDataBase_bak
END
GO执行以后并没有备份啊!

解决方案 »

  1.   

    如果我用BACKUP DATABASE LDRoadWeatherInfo TO 'D:\BackUp\LDDataBase.bak' 
    就可以进行备份了
    但是为什么用上面的不行呢
      

  2.   

    应该会有如下报错啊:
    服务器: 消息 3201,级别 16,状态 1,行 3
    无法打开备份设备 'LDDataBase_bak'。设备出现错误或设备脱机。详细信息请参阅 SQL Server 错误日志。
    服务器: 消息 3013,级别 16,状态 1,行 3
    BACKUP DATABASE 操作异常终止。
      

  3.   

    EXEC sp_addumpdevice 'disk','LDDataBase_bak','D:\BackUp\LDDataBase_bak' 
    改成
    EXEC sp_addumpdevice 'disk','LDDataBase_bak','D:\BackUp\LDDataBase_bak\LDRoadWeatherInfo.bak' 
    再试试
      

  4.   

    EXEC sp_addumpdevice 'disk','LDDataBase_bak','D:\BackUp\LDDataBase_bak' BACKUP DATABASE LDRoadWeatherInfo TO 'D:\BackUp\LDDataBase.bak' 应该是这里的问题吧
      

  5.   

    5楼说的是一个问题,该了以后也不行
    最后在最前面加上
    USE master就可以了