1
SQLDMO.SQLServer svr = new SQLDMO.SQLServerClass();
2
try
3
{
4
svr.Connect(Encrypt.UNDES("localhost","sa","password");
5
SQLDMO.QueryResults qr = svr.EnumProcesses(-1);
6
int iColPIDNum = -1;
7
int iColDbName = -1;
8
for (int i = 1; i <= qr.Columns; i++)
9
{
10
string strName = qr.get_ColumnName(i);
11
if (strName.ToUpper().Trim() == "SPID")
12
{
13
iColPIDNum = i;
14
}
15
else if (strName.ToUpper().Trim() == "DBNAME")
16
{
17
iColDbName = i;
18
}
19
if (iColPIDNum != -1 && iColDbName != -1)
20
break;
21
}
22![]()
23
for (int i = 1; i <= qr.Rows; i++)
24
{
25
int lPID = qr.GetColumnLong(i, iColPIDNum);
26
string strDBName = qr.GetColumnString(i, iColDbName);
27
if (strDBName.ToUpper() == DBName.ToUpper())
28
svr.KillProcess(lPID);
29
}
30![]()
31
SQLDMO.Restore res = new SQLDMO.RestoreClass();
32
res.Action = 0;
33
res.Files = ServiceFolder;
34
res.Database = DBName;
35
res.ReplaceDatabase = true;
36
res.SQLRestore(svr);
37
}
38
catch
39
{
40
throw;
41
}
42
finally
43
{
44
svr.DisConnect();
45
}
46![]()
SQLDMO.SQLServer svr = new SQLDMO.SQLServerClass();2
try3
{4
svr.Connect(Encrypt.UNDES("localhost","sa","password");5
SQLDMO.QueryResults qr = svr.EnumProcesses(-1);6
int iColPIDNum = -1;7
int iColDbName = -1;8
for (int i = 1; i <= qr.Columns; i++)9
{10
string strName = qr.get_ColumnName(i);11
if (strName.ToUpper().Trim() == "SPID")12
{13
iColPIDNum = i;14
}15
else if (strName.ToUpper().Trim() == "DBNAME")16
{17
iColDbName = i;18
}19
if (iColPIDNum != -1 && iColDbName != -1)20
break;21
}22

23
for (int i = 1; i <= qr.Rows; i++)24
{25
int lPID = qr.GetColumnLong(i, iColPIDNum);26
string strDBName = qr.GetColumnString(i, iColDbName);27
if (strDBName.ToUpper() == DBName.ToUpper())28
svr.KillProcess(lPID);29
}30

31
SQLDMO.Restore res = new SQLDMO.RestoreClass();32
res.Action = 0;33
res.Files = ServiceFolder;34
res.Database = DBName;35
res.ReplaceDatabase = true;36
res.SQLRestore(svr);37
}38
catch39
{40
throw;41
}42
finally43
{44
svr.DisConnect();45
} 46


浙公网安备 33010602011771号