• 用来代替SQLSERVERAGENT的VBS脚本。


    今天一台MSSQL2000出问题,SQLSERVERAGENT服务又启不过来,胡乱撮写的一个脚本。

    '*******************************************************************
    ' 目的:当MSSQL的SQLSERVERAGENT启不过来时,可以用这个脚本来备份全部数据库,也可以做成计划任务来执行
    ' 注意还原master数据库要用单用户启动MSSQL
    '*******************************************************************
    
    dim spath
    spath="E:\sqldatabackup\db\" '请注意修改备份路径
    
    dim backpath
    backpath=spath & cstr(date() &  hour(now) &  minute(now) & second(now)) & "\"
    deletefile(spath & "all.sql")
    
    CreateFolderDemo()
    strContent = ExportData
    Call LogToFile(strContent, "all.sql")
    
    '---------------------------------
    Set shell = WScript.CreateObject("WScript.Shell")
    cmd = "osql -E -i all.sql"
    Shell.Run cmd, 1, True
    Set shell = Nothing
    '---------------------------------
    
    'Wscript.Echo "完成!"
    
    '新建文件夹
     Function   CreateFolderDemo()     
          Dim   fso,   f   
          Set   fso   =   CreateObject("Scripting.FileSystemObject")   
          Set   f   =   fso.CreateFolder(backpath & "")   
          CreateFolderDemo   =   f.Path 
          Set fso = Nothing  
      End   Function   
    
    '删除文件
    function deletefile(filename) 
    	if filename<>"" then 
    	Set fso = CreateObject("Scripting.FileSystemObject")
    	if fso.FileExists(filename) then 
    	fso.DeleteFile filename 
    	else 
    	' "<script>alert(''该文件不存在'');</script>" 
    	end if 
    	end if 
    	Set fso = Nothing
    end function 
    
    '写文件
    Function LogToFile(strContent,strFileName)
    	Const ForReading = 1, ForWriting = 2,ForAppending = 8
    	Dim fso, f
    	Set fso = CreateObject("Scripting.FileSystemObject")
    	Set f = fso.OpenTextFile(strFileName, ForAppending, True)
    	f.WriteLine strContent
            Set fso = Nothing
    End Function
    
    '生成备份脚本
    Function ExportData()
    	Dim strConn,strSql,strData
    	Dim objConn,objRs
    	
    	strConn = "Provider=sqloledb;Data Source=(local);Initial Catalog=master;Integrated Security=SSPI;"
    	Set objConn = CreateObject("ADODB.Connection")
    	objConn.Open strConn
    	
    	'strSql = "SELECT name,filename FROM sysdatabases"
    	strSql = "SELECT name FROM sysdatabases"
    	Set objRs = objConn.Execute(strSql)
    	If NOT objRs.EOF Then
    		While NOT objRs.EOF
    	     strData = strData & "backup database [" & objRs(0).value &"] to disk='" &  backpath & objRs(0).value  & ".bak'" &  vbCrLf & "GO" & vbCrLf
    		 objRs.MoveNext
    		Wend
    	End If
    	
    	If Err.Number <> 0 Then
    		ExportData = Err.Description
    	Else
    		ExportData = strData
    	End If
    	objRs.Close
    	objConn.Close
    	Set objRs = Nothing
    	Set objConn = Nothing
    End Function
    
    
  • 相关阅读:
    直接选择排序(C++模版技术实现)
    求素数
    快速排序(C++模版技术实现)
    堆排序(C++模版技术实现)
    简单链式二叉树(C++模版技术实现)
    归并排序(C++模版技术实现)
    求斐波那契数列的两种解法
    C++中改变setw(n)的对齐方式
    C中的64位整型
    Windows版GCC之TDMGCC 4.5.2
  • 原文地址:https://www.cnblogs.com/LCX/p/1632347.html
Copyright © 2020-2023  润新知