public static bool IsDBOnline(TargetServerInfo targetServer) { bool dbOnline = false; string query = "select state_desc from sys.databases where name = '" + targetServer.TargetDatabase + "'"; Retry.ExecuteRetryAction(() => { using (SqlConnection connection = new SqlConnection(targetServer.ConnectionStringRootDatabase)) { ScalarResults sr = SqlHelper.ExecuteScalar(connection, CommandType.Text, query.ToString()); if (sr != null && sr.ExecuteScalarReturnValue != null) { string val = sr.ExecuteScalarReturnValue.ToString(); if (val != null && val.Equals("ONLINE")) { dbOnline = true; return; } } else { dbOnline = false; return; } } }); return(dbOnline); }
public bool DoesDatabaseExist(TargetServerInfo targetServer) { bool dbExists = false; Retry.ExecuteRetryAction(() => { using (SqlConnection connection = new SqlConnection(targetServer.ConnectionStringRootDatabase)) { string query = "IF (EXISTS(select 1 from sys.databases where name = '" + targetServer.TargetDatabase + "'))" + Environment.NewLine + " SELECT 1" + Environment.NewLine + "ELSE" + Environment.NewLine + " SELECT 0"; ScalarResults sr = SqlHelper.ExecuteScalar(connection, CommandType.Text, query.ToString()); dbExists = Convert.ToBoolean((int)sr.ExecuteScalarReturnValue); } }); return(dbExists); }
private void ConnectSqlConnection(TargetServerInfo serverInfo) { // Go ahead and connect SqlConn.ConnectionString = serverInfo.ConnectionStringRootDatabase; Retry.ExecuteRetryAction(() => { SqlConn.Open(); ScalarResults sr = SqlHelper.ExecuteScalar(SqlConn, CommandType.Text, "SELECT @@VERSION"); string version = (string)sr.ExecuteScalarReturnValue; if (version.IndexOf("Azure") > 0) { serverInfo.ServerType = ServerTypes.AzureSQLDB; } else { serverInfo.ServerType = ServerTypes.SQLServer; } serverInfo.Version = SqlConn.ServerVersion; }); }