?不是都说了么:无法打开备份设备“kqdb,check it

解决方案 »

  1.   

    备份设备“kqdb”是否存在 ,如果没有添加这个设备.
    ------------------------
     Transact-SQL 参考  
    sp_addumpdevice 
    将备份设备添加到 Microsoft® SQL Server™。语法
    sp_addumpdevice [ @devtype = ] 'device_type' ,
        [ @logicalname = ] 'logical_name' ,
        [ @physicalname = ] 'physical_name'
        [ , { [ @cntrltype = ] controller_type
                | [ @devstatus = ] 'device_status' 
            } 
        ]参数
    [@devtype =] 'device_type',备份设备的类型,device_type 的数据类型为 varchar(20),没有默认设置,可以是下列值之一。值 描述 
    disk 硬盘文件作为备份设备。 
    pipe 命名管道。 
    tape 由 Microsoft Windows NT® 支持的任何磁带设备。如果 device 是 tape,则其默认值为 noskip。 
    [@logicalname =] 'logical_name'备份设备的逻辑名称,该逻辑名称用于 BACKUP 和 RESTORE 语句中,logical_name 的数据类型为 sysname,没有默认值,并且不能为 NULL。[@physicalname =] 'physical_name'备份设备的物理名称。物理名称必须遵照操作系统文件名称的规则或者网络设备的通用命名规则,并且必须包括完整的路径。physical_name 的数据类型为 nvarchar(260),没有默认值,并且不能为 NULL。当创建远程网络位置上的备份设备时,请确保在其下启动 SQL Server 的名称对远程的计算机有适当的写入能力。如果要添加磁带设备,那么该参数必须是 Windows NT® 指派给本地磁带设备的物理名称,例如 \\.\TAPE0(对于计算机中的第一个磁带设备)。磁带设备必须连接到服务器计算机上,不能远程使用。如果名称包含非字母数字的字符,请用引号将其引起来。 [@cntrltype =] controller_type当创建备份设备时,该参数并不是必需的。为脚本提供该参数比较合适,然而 SQL Server 会将其忽略。controller_type 的数据类型为 smallint,默认值为 NULL,可以是下列值之一。值 描述 
    2 当 device_type 为 disk 时使用。 
    5 当 device_type 为 tape 时使用。 
    6 当 device_type 为 pipe 时使用。 
    [@devstatus =] 'device_status'指明是读取 (noskip) ANSI 磁带标签,还是忽略 (skip) 它。device_status 的数据类型为 varchar(40),默认值为 noskip。说明  可以指定 controller_type 或 device_status,但二者不要同时指定。 
    返回代码值
    0(成功)或 1(失败)结果集
    无注释
    sp_addumpdevice 将备份设备添加到 master.dbo.sysdevices 表。可以在 BACKUP 和 RESTORE 语句中对其进行逻辑引用。 所有关系和权限问题可能干扰磁盘或文件备份设备的使用。请确保对在其下启动 SQL Server 的帐户给予适当的文件权限。SQL Server 支持将磁带备份到 Windows NT 支持的磁带设备上。有关 Windows NT 支持的磁带设备的更多信息,请参见 Windows NT 的硬件兼容性列表。若要查看计算机上可用的磁带设备,请使用 SQL Server 企业管理器。对于特定的磁带驱动器,只应使用推荐的磁带(按驱动器厂商的建议)。若要使用 DAT 驱动器,请使用计算机级的 DAT 磁带 (Digital Data Storage-DDS)。 不能在事务内执行 sp_addumpdevice。权限
    只有 sysadmin 和 diskadmin 固定服务器角色的成员才能执行该过程。示例
    A. 添加磁盘转储设备
    下面的示例添加一个名为 MYDISKDUMP 的磁盘备份设备,其物理名称为 C:\Dump\Dump1.bak。USE master
    EXEC sp_addumpdevice 'disk', 'mydiskdump', 'c:\dump\dump1.bak'B. 添加网络磁盘备份设备
    下面的示例显示一个远程磁盘备份设备。在其下启动 SQL Server 的名称必须对该远程文件拥有权限。USE master
    EXEC sp_addumpdevice 'disk', 'networkdevice',
       '\\servername\sharename\path\filename.ext'C. 添加磁带备份设备
    下面的示例添加 TAPEDUMP1 设备,其物理名称为 \\.\Tape0。USE master
    EXEC sp_addumpdevice 'tape', 'tapedump1',
       '\\.\tape0'
    请参见BACKUPRESTOREsp_dropdevicesp_helpdevice系统存储过程©1988-2000 Microsoft Corporation。保留所有权利。
      

  2.   

    --备份
    backup database sys to disk='c:\目录\a.bak' with init你的过程改为:ALTER   PROCEDURE ProKqBK
    @文件 varchar(1000)
    AS  
    BACKUP DATABASE kq TO disk=@文件 with init你再用vb把路径和文件名传给它