人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當(dāng)前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

VB完成SQL Server數(shù)據(jù)庫備份/恢復(fù)

VB完成SQL Server數(shù)據(jù)庫備份/恢復(fù)

更新時間:2022-09-01 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

'*************************************************************************
'**模 塊 名:fBackupDatabase_a
'**描    述:備份數(shù)據(jù)庫,返回出錯信息,正常恢復(fù),返回""
'**調(diào)    用:fBackupDatabase_a "備份文件名","數(shù)據(jù)庫名"
'**參數(shù)說明:
'**          sBackUpfileName  恢復(fù)后的數(shù)據(jù)庫存放目錄
'**          sDataBaseName    備份的數(shù)據(jù)名
'**          sIsAddBackup     是否追加到備份文件中
'**說    明:引用Microsoft ActiveX Data Objects 2.x Library
'**創(chuàng) 建 人:鄒建
'**日    期:2003年12月09日
'*************************************************************************
Public Function fBackupDatabase_a(ByVal sBackUpfileName$ _
                                , ByVal sDataBaseName$ _
                                , Optional ByVal sIsAddBackup As Boolean = False _
                                ) As String
                                
    Dim iDb As ADODB.Connection
    Dim iConcStr$, iSql$, iReturn$
    
    On Error GoTo lbErr
    
    '創(chuàng)建對象
    Set iDb = New ADODB.Connection
    
    '連接數(shù)據(jù)庫服務(wù)器,根據(jù)你的情況修改連接字符串
    iConcStr = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Data Source=zj"
    iDb.Open iConcStr
    
    '生成數(shù)據(jù)庫備份語句
    iSql = "backup database [" & sDataBaseName & "]" & vbCrLf & _
            "to disk='" & sBackUpfileName & "'" & vbCrLf & _
            "with description='" & "zj-backup at:" & Date & "(" & Time & ")'" & vbCrLf & _
            IIf(sIsAddBackup, "", ",init")
            
    iDb.Execute iSql
    GoTo lbExit
    
lbErr:
    iReturn = Error
lbExit:
    fBackupDatabase_a = iReturn
End Function

'*************************************************************************
'**模 塊 名:frestoredatabase_a
'**描    述:恢復(fù)數(shù)據(jù)庫,返回出錯信息,正;謴(fù),返回""
'**調(diào)    用:frestoredatabase_a "備份文件名","數(shù)據(jù)庫名"
'**參數(shù)說明:
'**          sDataBasePath  恢復(fù)后的數(shù)據(jù)庫存放目錄
'**          sBackupNumber  是從那個備份號恢復(fù)
'**          sReplaceExist  指定是否覆蓋已經(jīng)存在的數(shù)據(jù)
'**說    明:引用Microsoft ActiveX Data Objects 2.x Library
'**創(chuàng) 建 人:鄒建
'**日    期:2003年12月09日
'*************************************************************************
Public Function fRestoreDatabase_a(ByVal sBackUpfileName$ _
                                , ByVal sDataBaseName$ _
                                , Optional ByVal sDataBasePath$ = "" _
                                , Optional ByVal sBackupNumber& = 1 _
                                , Optional ByVal sReplaceExist As Boolean = False _
                                ) As String
    
    Dim iDb As ADODB.Connection, iRe As ADODB.Recordset
    Dim iConcStr$, iSql$, iReturn$, iI&
    
    On Error GoTo lbErr
    
    '創(chuàng)建對象
    Set iDb = New ADODB.Connection
    Set iRe = New ADODB.Recordset
    
    '連接數(shù)據(jù)庫服務(wù)器,根據(jù)你的情況修改連接字符串
    iConcStr = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Data Source=zj"
    iDb.Open iConcStr
    
    '得到還原后的數(shù)據(jù)庫存放目錄,如果沒有指定,存放到SQL SERVER的DATA目錄
    If sDataBasePath = "" Then
        iSql = "select filename from master..sysfiles"
        iRe.Open iSql, iDb, adOpenKeyset, adLockReadOnly
        iSql = iRe(0)
        iRe.Close
        sDataBasePath = Left(iSql, InStrRev(iSql, "\"))
    End If
    
    '檢查數(shù)據(jù)庫是否存在
    If sReplaceExist = False Then
        iSql = "select 1 from master..sysdatabases  where name='" & sDataBaseName & "'"
        iRe.Open iSql, iDb, adOpenKeyset, adLockReadOnly
        If iRe.EOF = False Then
            iReturn = "數(shù)據(jù)庫已經(jīng)存在!"
            iRe.Close
            GoTo lbExit
        End If
        iRe.Close
    End If
    
    '關(guān)閉用戶進(jìn)程,防止其它用戶正在使用數(shù)據(jù)庫,導(dǎo)致數(shù)據(jù)恢復(fù)失敗
    iSql = "select spid from master..sysprocesses where dbid=db_id('" & sDataBaseName & "')"
    iRe.Open iSql, iDb, adOpenKeyset, adLockReadOnly
    While iRe.EOF = False
        iSql = "kill " & iRe(0)
        iDb.Execute iSql
        iRe.MoveNext
    Wend
    iRe.Close
    
    '獲取數(shù)據(jù)庫恢復(fù)信息
    iSql = "restore filelistonly from disk='" & sBackUpfileName & "'" & vbCrLf & _
        "with file=" & sBackupNumber
    iRe.Open iSql, iDb, adOpenKeyset, adLockReadOnly
    
    '生成數(shù)據(jù)庫恢復(fù)語句
    iSql = "restore database [" & sDataBaseName & "]" & vbCrLf & _
        "from disk='" & sBackUpfileName & "'" & vbCrLf & _
        "with file=" & sBackupNumber & vbCrLf
    With iRe
        While Not .EOF
            iReturn = iRe("PhysicalName")
            iI = InStrRev(iReturn, ".")
            iReturn = IIf(iI = 0, "", Mid(iReturn, iI)) & "'"
            iSql = iSql & ",move '" & iRe("LogicalName") & _
                    "' to '" & sDataBasePath & sDataBaseName & iReturn & vbCrLf
            .MoveNext
        Wend
        .Close
    End With
    iSql = iSql & IIf(sReplaceExist, ",replace", "")
    
    iDb.Execute iSql
    iReturn = ""
    GoTo lbExit
    
lbErr:
    iReturn = Error
lbExit:
    fRestoreDatabase_a = iReturn
End Function

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
主站蜘蛛池模板: 城固县| 闽侯县| 四会市| 怀宁县| 北京市| 江门市| 新绛县| 岳阳县| 什邡市| 行唐县| 乌拉特中旗| 大城县| 宽甸| 东丰县| 时尚| 台东县| 博白县| 新安县| 东莞市| 闸北区| 健康| 砀山县| 塔城市| 平陆县| 于都县| 崇礼县| 宜章县| 南投县| 惠州市| 开封市| 巫山县| 宜州市| 湟源县| 鄂尔多斯市| 思茅市| 平远县| 平定县| 城步| 边坝县| 张家川| 噶尔县|