繁体   English   中英

C#SQL服务器连接

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM