public void _6_Meashure_Download_Speed() { var list = SqlServers.OrderByVersionDesc().ToList(); Debug.WriteLine($"Download speed test of {list.Count} sql servers:{Environment.NewLine}{list.AsBullets()}"); Debug.WriteLine(""); Debug.WriteLine("Download speed Report (KB per second)"); StringBuilder errors = new StringBuilder(); foreach (var sqlRef in list) { var blockSize = SqlServiceExtentions.IsLocalDbOrLocalServer(sqlRef.ConnectionString) ? 4096 : 1024; var supportedProtocols = sqlRef.ProbeTransports(timeoutMillisecs: TRANSPORT_PROBE_DURATION); foreach (var supportedProtocol in supportedProtocols) { try { SqlSpeedMeasurement test = new SqlSpeedMeasurement(supportedProtocol.ConnectionString); decimal kbPerSec = test.GetDownloadSpeed(limitIterations: 100000, blockSizeInKb: blockSize, limitMilliSeconds: TestEnvironment.SqlDownloadDuration); var transport = GetTransportInfo(supportedProtocol.ConnectionString); Debug.WriteLine($"{(kbPerSec.ToString("f1")).PadLeft(9)} : {sqlRef.DataSource} ({transport})"); } catch (Exception ex) { errors.AppendFormat("{0} {1}", supportedProtocol.DataSource, ex.GetExeptionDigest()).AppendLine(); } } } if (errors.Length > 0) { Debug.WriteLine(Environment.NewLine + "SpeedTest failed" + Environment.NewLine + errors); } }
public void _2_Start_Local_Services() { var list = SqlServers.OrderByVersionDesc().ToList(); Debug.WriteLine($"Check services status {list.Count} sql servers:{Environment.NewLine}{list.AsBullets()}"); Debug.WriteLine(""); IEnumerable <SqlServerRef> ordered = list.OrderByVersionDesc().ToList(); List <SqlServerRef> stopped = new List <SqlServerRef>(); var localOrdered = ordered.Where(x => SqlServiceExtentions.IsLocalService(x.DataSource)).ToList(); if (localOrdered.Any()) { Debug.WriteLine("State of corresponding services"); foreach (var sqlRef in localOrdered) { var serviceStatus = SqlServiceExtentions.CheckServiceStatus(sqlRef.DataSource); if (serviceStatus.State != SqlServiceStatus.ServiceStatus.Running) { stopped.Add(sqlRef); } Debug.WriteLine(" {0} ({1}): {2}", sqlRef.DataSource, sqlRef.Version, serviceStatus); } } // LocalDB is awsays assumed to be stopped. var localDB = ordered.FirstOrDefault(x => SqlServiceExtentions.IsLocalDB(x.DataSource)); if (localDB != null) { stopped.Add(localDB); } if (stopped.Any()) { Debug.WriteLine(""); Debug.WriteLine("Start stopped sql services"); { foreach (var sqlRef in stopped) { Stopwatch sw = Stopwatch.StartNew(); bool ok = SqlServiceExtentions.StartService(sqlRef.DataSource, TimeSpan.FromSeconds(30)); string action = SqlServiceExtentions.IsLocalDB(sqlRef.DataSource) ? "Checking" : "Starting"; Debug.WriteLine(" {3} {0}: {1} ({2:0.00} secs)", sqlRef.DataSource, ok ? "OK" : "Fail", sw.ElapsedMilliseconds / 1000d, action); } } } }