参:http://blog.csdn.net/happyflystone/archive/2008/01/18/2051325.aspx

解决方案 »

  1.   

    既然每晚上备份都是完成了的说明服务器以及网络什么的都是好的.剩下最后一个原因是: SQL SERVER会向机器的网卡定时发出指令 (检查网卡是否工作正常), 如果因为NIC很繁忙, 来不及回答SQL SERVER的指令, 那么SQL SERVER会认为NIC不工作了, 所以会出现一个error信息.
      

  2.   

    USE master 
    EXEC sp_configure 'show advanced options', 1 
    RECONFIGURE WITH OVERRIDE 
    EXEC sp_configure 'xp_cmdshell', 1 
    RECONFIGURE WITH OVERRIDE 
    EXEC sp_configure  'show advanced options', 0 declare @strsql varchar(1000)
    declare @strdirname varchar(50)
    declare @strcmd varchar(50)
    declare @strsend varchar(1000)
    declare @strdate varchar(50)exec master..xp_cmdshell 'net use \\192.168.1.34\D$\test   "test123"   /user:filebackup\administrator '
    set @strsql='backup database TestDb  to disk=  \\192.168.1.34\d$\test\'
    set @strdirname=replace(substring(convert(varchar(20),getdate(),120),1,10),'-','')+'12'--set @strdirname=replace(substring(convert(varchar(20),getdate(),120),1,10),'-','')+'12'
    --set @strcmd='md \\192.168.1.34\d$\test\'
    --set @strcmd=@strcmd+@strdirname
    --exec master..xp_cmdshell @strcmd 
    --print @strsql
    print @strdirname--set @strsql=@strsql+@strdirname+'\testbackup.bak with init'
    set @strsql=@strsql+'Assetbackup.bak with init '
    --print @strsqlexec (@strsql)
    --print @strsql
    exec (@strsql)帮我看看,以上代码执行时说有语法错误,但我一直检查不出来!郁闷~ 错误提示如下:
    消息 102,级别 15,状态 1,第 1 行
    '\' 附近有语法错误。
    消息 319,级别 15,状态 1,第 1 行
    关键字 'with' 附近有语法错误。如果此语句是公用表表达式或 xmlnamespaces 子句,那么前一个语句必须以分号结尾。
      

  3.   


    set @strsql='backup database TestDb  to disk=  ''\\192.168.1.34\d$\test\' 
    .....
    ....
    set @strsql=@strsql+'Assetbackup.bak'' with init ' 
    ...
      

  4.   

    謝謝 bwu851 ,也謝謝其它的朋友