存储过程中这样写
CREATE PROCEDURE backupdate  
             @参数,
             @参数,
             @参数, 
USE master
EXEC sp_addumpdevice 'disk', 'qxqp2','d:\mssql7\backup\qxqp2.dat'
其中disk字段是选备份到硬盘上或存储设备上(如磁带机),qxqp2是新建的备份文件名,后面的是备份地址(最好用参数,参数由VB中给出一个对话框给出备份地址和备份文件名)。
BACKUP DATABASE qxqp TO qxqp2 
其中qxqp是要备份的数据库。

解决方案 »

  1.   

    vb中的ADO控件就可以调用存储过程
      

  2.   

    方法1: 
    执行 T-SQL 语句
    参阅 《SQL Server Books Online》 索引: Backup Database、Restore DataBase
    Dim adoConnection As New ADODB.Connection
    adoConnection.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Password=password;Initial Catalog=Test;Data Source=ServerName"
    adoConnection.Execute "BACKUP DATABASE Northwind TO DISK = 'c:\Northwind.bak'"
    ...
    adoConnection.Execute "RESTORE DATABASE TestDB FROM DISK = 'c:\Northwind.bak' WITH MOVE 'Northwind' TO 'c:\test\testdb.mdf',
    MOVE 'Northwind_log' TO 'c:\test\testdb.ldf'"
    方法2: 引用 Microsoft SQLDMO Object Libary (SQLDMO) 
    参阅 《SQL Server Books Online》 索引: Backup Object
    Dim SQLServerX As New SQLDMO.SQLServer
    SQLServerX.Connect sServerName, sLogin, sPassword
    Dim BackupX As New SQLDMO.Backup
    ....
    方法3: 同fuzhanyu