补充一下:数据库是sqlserver 7.0
解决方案 »
- VB如何得到从webservice传递过来的dataset并与控件绑定
- Alt和回车组合键代码??
- 在VB中如何連接水晶報表?急
- 100分求助,在线给分(sql内存不停增大)
- 散点分,省得都说偶一毛不拔。。。谢谢大家捧场。。。来VB做斑竹感到非常荣幸。。。
- 请问各位,我的这个代码错在什么地方了?帮我找一下.谢谢了.
- 关于 Setup Factory 6.0 制作安装过程中执行 VB 代码的问题
- 急,求解用VB自动获取汉字的首拼音
- 谁有Wise InstallMaster 8.1的注册码?
- 有能发现qq隐身的工具吗?
- 请教关于工程文件和窗体文件的问题:
- 如何在vb中动态的调用不同动态连接库中的函数?
2.确认没有用户连接到要恢复的数据库,可以用sp_who来查看
Set g_SqlServer = New SQLDMO.SQLServer
g_SqlServer.Connect strSvName, strUsrID, strPass
Dim objBackup As New SQLDMO.Backup
objBackup.Action = SQLDMOBackup_Database
objBackup.Database = strDBName '数据库名
objBackup.Files = strCopyName '备份名
objBackup.SQLBackup g_SqlServer '备份
g_SqlServer.Disconnect
但是第二个问题,在测试时只有我在操作数据库啊!没别人!
把[ conn.close ]改[ set conn=nothing ]我也试了,不行啊!
飞猪:你用了sqlDemo啊,我要研究研究:)第二个问题谁能帮忙啊~~~
Public g_SqlServerConnection As ADODB.Connection
If Not g_SqlServerConnection Is Nothing Then
g_SqlServerConnection.Close
Set g_SqlServerConnection = Nothing
End If
Public objRestore As SQLDMO.Restore
Set objRestore = New SQLDMO.Restore
objRestore.Action = SQLDMORestore_Database
objRestore.Database = strDBName
objRestore.Files = strCopyName
objRestore.ReplaceDatabase = True objRestore.SQLRestore g_SqlServer
On Error GoTo OYKBak
Dim Bak As ADODB.Recordset
If (Trim$(Combo1.Text) = "" ) Then
MsgBox "没有选择合法数据库。", , "警告信息"
Else
Dialog1.FileName = ""
Dim Path As String
Dialog1.Action = 2
Path = Dialog1.FileName
If Path <> "" Then
Set MDbConn = New ADODB.Connection
MDbConn.Open "Provider=SQLOLEDB.1;Password='" & MPassWD & "';Persist Security Info=False;User ID=sa;Initial Catalog=master;Data Source='" & MServer & "'"
MDbConn.CursorLocation = adUseClient
s = "use [master]"
Set Bak = New ADODB.Recordset
With Bak
.ActiveConnection = MDbConn
.CursorType = adOpenDynamic
.LockType = adLockOptimistic
.Source = s
.Open
End With
s = "EXECUTE master.dbo.xp_get_tape_devices"
Set Bak = New ADODB.Recordset
With Bak
.ActiveConnection = MDbConn
.CursorType = adOpenDynamic
.LockType = adLockOptimistic
.Source = s
.Open
End With
s = "set noexec off set parseonly off"
Set Bak = New ADODB.Recordset
With Bak
.ActiveConnection = MDbConn
.CursorType = adOpenDynamic
.LockType = adLockOptimistic
.Source = s
.Open
End With
s = "xp_regread N'HKEY_LOCAL_MACHINE', N'SOFTWARE\Microsoft\MSSQLServer\Setup', N'SQLDataRoot'"
Set Bak = New ADODB.Recordset
With Bak
.ActiveConnection = MDbConn
.CursorType = adOpenDynamic
.LockType = adLockOptimistic
.Source = s
.Open
End With
s = "select name, phyname, cntrltype, status, convert(int, substring(convert(binary(4), 0), 1, 1)), floor(8192.0 / 1048576) from master..sysdevices o where 1 = 1 and (status & 0x10) <> 0 order by o.name"
Set Bak = New ADODB.Recordset
With Bak
.ActiveConnection = MDbConn
.CursorType = adOpenDynamic
.LockType = adLockOptimistic
.Source = s
.Open
End With
s = "xp_fileexist '" & Path & "'"
Set Bak = New ADODB.Recordset
With Bak
.ActiveConnection = MDbConn
.CursorType = adOpenDynamic
.LockType = adLockOptimistic
.Source = s
.Open
End With
s = "set noexec off set parseonly off"
Set Bak = New ADODB.Recordset
With Bak
.ActiveConnection = MDbConn
.CursorType = adOpenDynamic
.LockType = adLockOptimistic
.Source = s
.Open
End With
s = "BACKUP DATABASE [" & Trim$(Combo1.Text) & "] TO DISK = N'" & Path & "' WITH NOINIT , NOUNLOAD , NAME = N'" & Trim$(Combo1.Text) & " backup', SKIP , STATS = 10, NOFORMAT"
Set Bak = New ADODB.Recordset
With Bak
.ActiveConnection = MDbConn
.CursorType = adOpenDynamic
.LockType = adLockOptimistic
.Source = s
.Open
End With
Set Bak = Nothing
MsgBox "数据库备份成功", , "OK"
End If
用sp_who查了一下数据库当前用户发现:spid status loginame cmd
1 sleeping sa SIGNAL HANDLER
2 background sa LOCK MONITOR
3 background sa LAZY WRITER
4 sleeping sa LOG WRITER
5 sleeping sa CHECKPOINT SLEEP
6 background sa AWAITING COMMAND
8 sleeping sa AWAITING COMMAND
9 runnable sa SELECT是不是因为我每次执行完程序都没有退出数据库呢?那么应该怎样退出呢?
还请帮忙!尤其是 gmc007(江西的佬表)大侠,我怎么没早试试您的建议呢555555
2.应该连到MASTER来查看(SP_WHO)
3.如果(很有可能)确有连接没有断开,请再检查你的程序。或者用SQL SERVER PROFILER来监视。比如:你可以先停止SQL 服务(确保所有连接断开),然后启动,再打开SQL SERVER PROFILER,再运行你的程序(在CONN.CLOSE处设置断点),再看看SQL SERVER PROFILER有什么变化,或者再用SP_WHO查看还有什么连接。