/// <summary> /// 断开数据库所有连接 /// </summary> /// <param name="dbName"></param> public void KillAllProcess(string dbName) { QueryResults qr = sqlServer.EnumProcesses(-1); // 获取SPID和DBNAME字段列序号 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 (string.Compare(strDBName, "test", true) == 0) { sqlServer.KillProcess(lPID); } } }