public static long GetAllCount2(SqlBaseItemXml basemodel, ref long sqlnum) { sqlnum = 0; long rownum = 0; List <TaskDataParam> taskdataparam = new List <TaskDataParam>(); var serverlist = DBConfig.GetServerItemXmlConfigList(basemodel); foreach (var item in serverlist) { StringBuilder sqlstr = new System.Text.StringBuilder(); var databaselist = DBConfig.GetDatabaseItemXmlConfigList(basemodel, item.Number); foreach (var item2 in databaselist) { if (sqlstr.Length > 0) { sqlstr.Append(" union all "); } sqlstr.AppendFormat(" select sum(b.rows) as 记录条数 from {0}.sys.sysobjects a,{0}.sys.sysindexes b where a.id=b.id and a.xtype='u' and b.indid=1 ", item2.DatabaseName); } if (sqlstr.Length > 0) { TaskDataParam tempparam = new TaskDataParam(); tempparam.servername = item.ServerName; tempparam.dbtype = item.DBType; tempparam.connstr = GetConnStr(basemodel, item); tempparam.sqlstr = string.Format("select SUM([记录条数]) from ({0})t1", sqlstr.ToString()); taskdataparam.Add(tempparam); } sqlstr.Clear(); } DBTask servicetask = new DBTask(); rownum = servicetask.SyncTaskManagerSum(taskdataparam, 100, false); sqlnum = servicetask.runnumcurrent; return(rownum); }