Private Sub mnuDBBackUp_Click() '------------------备份<a href="/tag/shujuku/" target="_blank" class="keywords">数据库</a> Dim cnbak As New ADODB.Connection If cnbak.State <> 0 Then cnbak.Close cnbak.Open "provider=<a href="/tag/sql/" target="_blank" class="keywords">sql</a>oledb;server=" & str<a href="/tag/sql/" target="_blank" class="keywords">sql</a>Server & ";user id=" & str<a href="/tag/sql/" target="_blank" class="keywords">sql</a>User & ";password=" & str<a href="/tag/sql/" target="_blank" class="keywords">sql</a>PW Dim backup<a href="/tag/sql/" target="_blank" class="keywords">sql</a> As String backup<a href="/tag/sql/" target="_blank" class="keywords">sql</a> = "USE master " + Chr(10) + Chr(13) backup<a href="/tag/sql/" target="_blank" class="keywords">sql</a> = backup<a href="/tag/sql/" target="_blank" class="keywords">sql</a> & "exec sp_addumpdevice 'disk','bak1'," & "'" & App.Path & "/bak1.bak" & "'"'bak1为备份设备 backup<a href="/tag/sql/" target="_blank" class="keywords">sql</a> = backup<a href="/tag/sql/" target="_blank" class="keywords">sql</a> + Chr(10) + Chr(13) + "BACKUP DATABASE SuperMarketdb TO bak1 WITH INIT" cnbak.Execute backup<a href="/tag/sql/" target="_blank" class="keywords">sql</a> Msg<a href="/tag/Box/" target="_blank" class="keywords">Box</a> "<a href="/tag/shujuku/" target="_blank" class="keywords">数据库</a>备份成功!",vbInformation cnbak.Close Set cnbak = Nothing End Sub Private Sub mnuDBResume_Click() '-------------------还原<a href="/tag/shujuku/" target="_blank" class="keywords">数据库</a> Dim cn As New ADODB.Connection,rs As New ADODB.Recordset If Dir(App.Path & "/bak1.bak") <> vbNullString Then If cnMain.State <> 0 Then cnMain.Close cn.ConnectionString = "Provider=<a href="/tag/sql/" target="_blank" class="keywords">sql</a>OLEDB.1;Persist Security Info=False;User ID=" & str<a href="/tag/sql/" target="_blank" class="keywords">sql</a>User & ";Password=" & str<a href="/tag/sql/" target="_blank" class="keywords">sql</a>PW & ";Initial Catalog=master;Data Source=" & str<a href="/tag/sql/" target="_blank" class="keywords">sql</a>Server '借助master<a href="/tag/shujuku/" target="_blank" class="keywords">数据库</a>来恢复str<a href="/tag/sql/" target="_blank" class="keywords">sql</a>User是<a href="/tag/sql/" target="_blank" class="keywords">sql</a><a href="/tag/denglu/" target="_blank" class="keywords">登录</a>名,Password是密码,str<a href="/tag/sql/" target="_blank" class="keywords">sql</a>Server是服务器名 cn.CursorLocation = adUseClient cn.Open rs.Open "select spid from sysprocesses where dbid=db_id('SuperMarketdb')",cn Do While Not rs.EOF cn.Execute "kill " & rs("spid") '杀掉<a href="/tag/sql/" target="_blank" class="keywords">sql</a>服务器的所有连接,否则会出现:<a href="/tag/shujuku/" target="_blank" class="keywords">数据库</a>正在使用,无法完成排它操作等等,很重要 rs.MoveNext Loop cn.Execute ("restore database SuperMarketdb from disk='" & App.Path & "/bak1.bak" & "' with replace") cn.Close cnMain.Open "Provider=<a href="/tag/sql/" target="_blank" class="keywords">sql</a>OLEDB.1;User ID=" & str<a href="/tag/sql/" target="_blank" class="keywords">sql</a>User & ";Password=" & str<a href="/tag/sql/" target="_blank" class="keywords">sql</a>PW & ";Initial Catalog=master;Data Source=" & str<a href="/tag/sql/" target="_blank" class="keywords">sql</a>Server Msg<a href="/tag/Box/" target="_blank" class="keywords">Box</a> "<a href="/tag/shujuku/" target="_blank" class="keywords">数据库</a>恢复成功!",vbInformation Else Msg<a href="/tag/Box/" target="_blank" class="keywords">Box</a> "请先备份<a href="/tag/shujuku/" target="_blank" class="keywords">数据库</a>!",vbInformation,"<a href="/tag/tishi/" target="_blank" class="keywords">提示</a>:" End If Set cn = Nothing End Sub