Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
 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;
     });
 }