/// <summary>
        /// LowMemoryLimit
        /// For multidimensional instances, a lower threshold at which the server first begins releasing memory allocated to infrequently used objects.
        /// Memory Limit High KB
        ///
        /// HardMemoryLimit
        /// Another threshold at which Analysis Services begins rejecting requests outright due to memory pressure.
        /// </summary>
        /// <returns></returns>
        private void HandleTimer()
        {
            _SDL.StartTime = DateTime.UtcNow;
            for (int i = 0; i < taskarray.Length; i++)
            {
                if (i < taskarray.Length)
                {
                    taskarray[i] = Task.Factory.StartNew(
                        (object obj) =>
                    {
                        Counters.Counter_Data CounterData = obj as Counters.Counter_Data;
                        if (CounterData == null)
                        {
                            return;
                        }
                        _SDL.PerformanceCounters.Add(CounterData.CounterKey(0), getperformancecounter(CounterData.CategoryName(0), CounterData.CounterName(0), CounterData.InstanceName(0)));
                    }
                        ,
                        new Counters.Counter_Data(_CD.CounterKey(i))

                        );
                }
            }

            SetWaitTime();

            Task.WaitAll(taskarray);
            _SDL.EndTime = DateTime.UtcNow;
        }
 /// <summary>
 ///
 /// </summary>
 /// <param name="Server_Name"></param>
 /// <param name="Server_Database"></param>
 public Server_Data(string Server_Name, string Server_Database, string CounterList, char CounterListSplit)
 {
     _SDL.Server_Name   = Server_Name;
     _SDL.Database_Name = Server_Database;
     _CD = new Counters.Counter_Data(CounterList, CounterListSplit);
 }