資料庫還原狀態監控(查看事件檢視器)

來源:互聯網
上載者:User

由於備份伺服器每天都還原生產伺服器傳來的新的資料,如何查看資料庫還原狀態是成功還是失敗?

我們將通過查看“控制台”—〉“管理工具”—〉“事件檢視器”來查看還原情況。

下面我們將設定一個寄件提醒功能,監控每天淩晨資料庫啟動並執行狀態,將還原成功和錯誤資訊都發送到郵件中。

 

static void Main(string[] args)
{
    SendMailAboutCheckServerStatus();
    Console.ReadKey();
}

private static void SendMailAboutCheckServerStatus()
{
    EventLog elog = new EventLog();
    elog.Log = "Application";
    string emailmessage = "";
    for (int i = 0; i < elog.Entries.Count; i++)
    {
        try
        {
            if (elog.Entries[i].Source == "MSSQLSERVER")
            {
                DateTime starttime=Convert.ToDateTime( DateTime.Now.ToString("yyyy-MM-dd")+" 00:00:00");
                DateTime endtime = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " 8:30:00");
                if (elog.Entries[i].TimeGenerated > starttime && elog.Entries[i].TimeGenerated < endtime)
                {
                    if (elog.Entries[i].EntryType.ToString() == "Error")
                    {
                        emailmessage  += "Message: " + elog.Entries[i].Message + "<br>" +
                                       "App: " + elog.Entries[i].Source + "<br>" +
                                       "Entry type: " + elog.Entries[i].EntryType + "<br>" +
                                       "TimeGenerated :" + elog.Entries[i].TimeGenerated + "<br>";
                    }
                    if (elog.Entries[i].Message.Contains("資料庫已還原"))
                   {
                        emailmessage += "Message: " + elog.Entries[i].Message + "<br>" +
                                       "App: " + elog.Entries[i].Source + "<br>" +
                                       "Entry type: " + elog.Entries[i].EntryType + "<br>" +
                                       "TimeGenerated :" + elog.Entries[i].TimeGenerated + "<br>";
                    }
                }
            }
        }
        catch { }
    }
    SendEMailInfo(emailmessage);
    Console.WriteLine("End!");
}

 

private static void SendEMailInfo(string emailmessage)
{

    try
    {
        #region  郵件 Client設定
        System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient();
        client.Host = "mail.126.com";
        client.UseDefaultCredentials = false;
        client.Credentials = new System.Net.NetworkCredential("namn@126.com", "password");
        client.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;

        System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();
        message.From = new System.Net.Mail.MailAddress("name@126.com", "displayname", System.Text.Encoding.UTF8);
        #endregion

        message.Subject = "資料庫還原狀態";                  //郵件主題
        message.Body = emailmessage;                         //郵件內容
        message.To.Add("name@126.com");                      //收件者
        message.BodyEncoding = System.Text.Encoding.UTF8;
        message.IsBodyHtml = true;
        message.Priority = System.Net.Mail.MailPriority.High;//郵件優先順序

        client.Send(message); 

  }
    catch (Exception ex)
    {
        Console.WriteLine(ex.Message);
    }
}

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.