读书人

(纯技术贴)请教一下sqldmo里备份和还

发布时间: 2012-01-26 19:40:46 作者: rapoo

(纯技术贴)请问一下sqldmo里备份和还原的问题
在还原的时候为了杀死该数据库正在运行的所有进程,所以有下面一段
SQLDMO.QueryResults qr = srv.EnumProcesses(-1);
int iColPIDNum = -1;
int iColDbName = -1;
for (int i = 1; i <= qr.Columns; i++)
{
string strName = qr.get_ColumnName(i);
if (strName.ToUpper().Trim() == "SPID ")
{
iColPIDNum = i;
}
else if (strName.ToUpper().Trim() == "DBNAME ")
{
iColDbName = i;
}
if (iColPIDNum != -1 && iColDbName != -1)
break;
}
for (int i = 1; i <= qr.Rows; i++)


{
int lPID = qr.GetColumnLong(i, iColPIDNum);
string strDBName = qr.GetColumnString(i, iColDbName);
if (strDBName.ToUpper() == this.cboDatabase.Text.ToUpper())
{
srv.KillProcess(lPID);
}
}


其中EnumProcesses(-1)这句到底是什么意思啊?谁能给我解释一下这个方法,和参数为什么是 -1吗?

[解决办法]
The EnumProcesses method returns a QueryResults object that enumerates the Microsoft SQL Server processes running on a referenced instance of Microsoft SQL Server.

Syntax

object
.EnumProcesses( [ WhoByNameOrID ] )as QueryResults


Parts
object
Expression that evaluates to an object in the Applies To list.

WhoByNameOrID
String or small integer that identifies a login name or process ID.
//-1表示列举所有的SQL Server的进程实列

读书人网 >C#

热点推荐