bac*_*h17 69 c# sql-server database-connectivity
我需要开发一个将每5分钟触发一次的例程,以检查SQL Server(10到12)列表是否已启动并运行.
我可以尝试在每个服务器中获取一个简单的查询,但这意味着我必须在每个服务器中创建一个表,视图或存储过程,即使我使用任何已经制作的SP我需要在每个服务器中都有一个注册用户服务器也是.服务器不在同一物理位置,因此具有这些要求将是一项复杂的任务.有没有办法简单地从C#one SQL Server"ping"?
提前致谢!
pet*_*ria 66
当服务器停止或暂停连接时,我遇到了EF的困难,我提出了同样的问题.因此,为了完整性,上面的答案是代码.
/// <summary>
/// Test that the server is connected
/// </summary>
/// <param name="connectionString">The connection string</param>
/// <returns>true if the connection is opened</returns>
private static bool IsServerConnected(string connectionString)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
try
{
connection.Open();
return true;
}
catch (SqlException)
{
return false;
}
}
}
Run Code Online (Sandbox Code Playgroud)
And*_*zub 63
执行SELECT 1并检查ExecuteScalar是否返回1.
Geo*_*ley 10
请参阅GitHub上的以下项目:https://github.com/ghuntley/csharp-mssql-connectivity-tester
try
{
Console.WriteLine("Connecting to: {0}", AppConfig.ConnectionString);
using (var connection = new SqlConnection(AppConfig.ConnectionString))
{
var query = "select 1";
Console.WriteLine("Executing: {0}", query);
var command = new SqlCommand(query, connection);
connection.Open();
Console.WriteLine("SQL Connection successful.");
command.ExecuteScalar();
Console.WriteLine("SQL Query execution successful.");
}
}
catch (Exception ex)
{
Console.WriteLine("Failure: {0}", ex.Message);
}
Run Code Online (Sandbox Code Playgroud)
建立与数据库的连接是否会为您执行此操作?如果数据库未启动,您将无法建立连接.
| 归档时间: |
|
| 查看次数: |
96916 次 |
| 最近记录: |