[英]C# SQL server connection
HI作為每日檢查,我必須檢查與我們所有服務器的SQL連接。 目前,這是通過SQL server Managment studio手動登錄完成的。 我只是想知道這是否可以在C#中編碼,以便我可以在早上第一件事情運行它並檢查每個服務器和實例是否有效的SQL連接並報告回來說明連接是否有效。
謝謝安迪
這是一個小的控制台應用程序示例,它將遍歷連接列表並嘗試連接到每個連接,報告成功或失敗。 理想情況下,您可能希望擴展它以讀取文件中的連接字符串列表,但這應該可以幫助您入門。
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Text;
namespace SQLServerChecker
{
class Program
{
static void Main(string[] args)
{
// Use a dictionary to associate a friendly name with each connection string.
IDictionary<string, string> connectionStrings = new Dictionary<string, string>();
connectionStrings.Add("Sales Database", "< connection string >");
connectionStrings.Add("QA Database", "< connection string >");
foreach (string databaseName in connectionStrings.Keys)
{
try
{
string connectionString = connectionStrings[databaseName];
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
Console.WriteLine("Connected to {0}", databaseName);
}
}
catch (Exception ex)
{
// Handle the connection failure.
Console.WriteLine("FAILED to connect to {0} - {1}", databaseName, ex.Message);
}
}
// Wait for a keypress to stop the console closing.
Console.WriteLine("Press any key to finish.");
Console.ReadKey();
}
}
}
查看SqlConnection類。 它包括一個基本樣本。 只需在該示例周圍放置一個循環以連接到每個服務器,如果任何服務器連接失敗,則拋出異常。
然后將其設置為Windows中的計划任務。
報告狀態的好方法可能是使用電子郵件,可以使用SmtpClient.Send輕松發送(該鏈接有一個很好的簡單示例。
為什么c#? 您可以使用osql命令創建一個簡單的批處理文件。
osql -S servername\dbname -E -Q "select 'itworks'"
您還可以查看此方法:
SqlDataSourceEnumerator.Instance.GetDataSources()
它為您提供了網絡上可用的SQL服務器列表。
你知道,他們制作的監控工具可以讓你知道你的sql server是否出現故障。 。 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.