我做了个SQL数据库恢复的一段代码
但没次执行恢复操作的时候都提示"[Microsoft][ODBC SQl Server Driver][SQL Server]因为数据库正在使用,所以未能获得对数据库的排它访问权"请问这样的问题该如何解决请过路的朋友指点一下 谢谢
但没次执行恢复操作的时候都提示"[Microsoft][ODBC SQl Server Driver][SQL Server]因为数据库正在使用,所以未能获得对数据库的排它访问权"请问这样的问题该如何解决请过路的朋友指点一下 谢谢
解决方案 »
- 急求C#问题。。。
- 添加新项--数据集 水晶报表crdb_adoplus 错误
- stuSex varchar(15)not null add constraint ck_stuSex check(stuSex like '男'or '女'
- C#输入限制的几个小问题
- 如何实现矢量图软件?
- 如何显示缩略图
- toolStripButton1和button的区别
- 毕设卡壳了,救命啊:已有了Schema和WSDL,怎样在.net下开发Web Services
- Visio使用
- 在C#中调用C++写的DLL 出错?
- 关于RowFilter
- 要写一个内部联系及沟通软件,就象QQ一样,谁能给点思路,像QQ,他的实现流程!
回复人: faysky2() ( ) 信誉:99 2005-11-3 14:03:43
数据库的连接都放在master数据库中的sysprocesses 表里,要断开某个数据库的连接,把sysprocesses 表里的那个数据库的连接删除就行了:Private Sub Command1_Click()
Dim cn As ADODB.Connection,rs As New ADODB.RecordSet
cn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=登录名;Password=密码;Initial Catalog=master;Data Source=Sql服务器别名"'借助master数据库来删除数据库的连接
cn.CursorLocation=adUseClient
cn.Open
rs.Open "select spid from sysprocesses where dbid=db_id('你的数据库名)", cn
Do While Not rs.EOF
cn.Execute "kill " & rs("spid") '杀掉你的数据库的所有连接rs.MoveNext
Loop
rs.Close
cn.Close
Set rs=Nothing
Set cn=Nothing
End Sub或许从SQLDMO中处理更好,不过还没有找到办法
StorePath = System.Environment.CurrentDirectory;
if (ltbBackup.Items.Count < 0 || ltbBackup.SelectedIndex < 0)
{
MessageBox.Show("没有恢复点或没有选择恢复点","提示:",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
else
{
SQLDMO.Restore oRestore = new SQLDMO.RestoreClass();
SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass();
try
{
oSQLServer.LoginSecure = false;
oSQLServer.Connect("localhost", "sa", "sa");
oRestore.Action = SQLDMO.SQLDMO_RESTORE_TYPE.SQLDMORestore_Database;
oRestore.Database = "rsgl";string ResFile=StorePath + "\\DataBackUp\\" + ltbBackup.SelectedItem;
oRestore.Files = ResFile;
oRestore.FileNumber = 1;
oRestore.ReplaceDatabase = true;
oRestore.SQLRestore(oSQLServer);
MessageBox.Show("数据库恢复成功.","提示:",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
catch(System.Exception mass)
{
MessageBox.Show(mass.Message);
}
finally
oSQLServer.DisConnect();
}
}不知道该怎样关闭当前所有数据库操作
真是头痛啊 555555555555