使用SQLDMO.dll插件备份和恢复数据库遇到问题总结。
注册:
1.把DLL文件持拷贝到
C:\WINDOWS\system32目录下
2.把SQLMO里面的文件复制到 C:\Program Files\Microsoft SQL S erver\80\Tools\Binn下面
2.把SQLMO里面的文件复制到 C:\Program Files\Microsoft SQL S erver\80\Tools\Binn下面
2.运行
Regsvr32 C:\Program Files\Microsoft SQL Server\80\Tools\Binn\sqldmo.dll
恢复数据库时kill掉运行中的进程
SqlConnection conn = new SqlConnection("Server=.;Database=master;User ID=sa;Password=sa;Trusted_Connection=False");
SqlConnection conn = new SqlConnection("Server=.;Database=master;User ID=sa;Password=sa;Trusted_Connection=False");
conn.Open();
SqlCommand cmd = new SqlCommand("SELECT spid FROM sysprocesses ,sysdatabases WHERE sysprocesses.dbid=sysdatabases.dbid AND sysdatabases.Name='" + DB + "'", conn);
SqlDataReader dr;
dr = cmd.ExecuteReader();
ArrayList list = new ArrayList();
while (dr.Read())
{
{
list.Add(dr.GetInt16(0));
}
dr.Close();
for (int i = 0; i < list.Count; i++)
{
cmd = new SqlCommand(string.Format("KILL {0}", list[i]), conn);
cmd.ExecuteNonQuery();
}
{
cmd = new SqlCommand(string.Format("KILL {0}", list[i]), conn);
cmd.ExecuteNonQuery();
}