因我没有安装2008数据库管理工具,我现在vs2010中t-sql编辑器中我想要一条能备份我当前整个数据库
的t-sql语句备份当前mssql数据库t-sql命令(是局域网中的一台数据库服务器)感谢神人帮助

解决方案 »

  1.   

    --备份当前数据库
    exec p_backupdb @bkpath='c:\',@bkfname='db_\DATE\_db.bak'--差异备份当前数据库
    exec p_backupdb @bkpath='c:\',@bkfname='db_\DATE\_df.bak',@bktype='DF'--备份当前数据库日志
    exec p_backupdb @bkpath='c:\',@bkfname='db_\DATE\_log.bak',@bktype='LOG'
      

  2.   

    create proc p_backupdb
    @dbname sysname='',   --要备份的数据库名称,不指定则备份当前数据库
    @bkpath nvarchar(260)='', --备份文件的存放目录,不指定则使用SQL默认的备份目录
    @bkfname nvarchar(260)='', --备份文件名,文件名中可以用\DBNAME\代表数据库名,\DATE\代表日期,\TIME\代表时间
    @bktype nvarchar(10)='DB', --备份类型:'DB'备份数据库,'DF' 差异备份,'LOG' 日志备份
    @appendfile bit=1   --追加/覆盖备份文件
    as
     declare @sql varchar(8000)
     if isnull(@dbname,'')='' set @dbname=db_name()
     if isnull(@bkpath,'')='' set @bkpath=dbo.f_getdbpath(null)
     if isnull(@bkfname,'')='' set @bkfname='\DBNAME\_\DATE\_\TIME\.BAK'
     set @bkfname=replace(replace(replace(@bkfname,'\DBNAME\',@dbname)
      ,'\DATE\',convert(varchar,getdate(),112))
      ,'\TIME\',replace(convert(varchar,getdate(),108),':',''))
     set @sql='backup '+case @bktype when 'LOG' then 'log ' else 'database ' end +@dbname
      +' to disk='''+@bkpath+@bkfname
      +''' with '+case @bktype when 'DF' then 'DIFFERENTIAL,' else '' end
      +case @appendfile when 1 then 'NOINIT' else 'INIT' end
     print @sql
     exec(@sql)
    go本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zjcxc/archive/2003/12/29/20074.aspx
      

  3.   

    create proc p_backupdb
    能备份,当是备份到了服务器上了,能不能备份到我本地电脑硬盘中呢。backup database GSCDev to disk='d:\db_20110315_db.bak' with NOINIT
    已为数据库 'GSCDev',文件 'GSCDev' (位于文件 1 上)处理了 344 页。
    已为数据库 'GSCDev',文件 'GSCDev_log' (位于文件 1 上)处理了 3 页。
    BACKUP DATABASE 成功处理了 347 页,花费 0.366 秒(7.406 MB/秒)。