我想跟踪 sql server 中更改的数据库状态。在我的解决方案中,我有一个由于从主服务器恢复而脱机的数据库。当数据库离线和在线时,我想在我的应用程序(C#)中得到提示。(如 sql 通知事件)。谢谢 。
问问题
736 次
1 回答
1
一种方法是使用应用程序中的计时器检查数据库的状态
private void timer1_tick(object sender,EventArgs e)
{
if(CheckDatabaseState() == "ONLINE")
MessageBox.Show("db is online");
else
MessageBox.Show("db is NOT online");
}
Public string CheckDatabaseState()
{
string Constr = @"Data Source=.\SQLEXPRESS;Integrated Security=True;Initial Catalog=master;";
string sql = string.Format("SELECT Name, state_desc FROM sys.databases where name = '{0}'", dbName);
SqlConnection conn;
SqlCommand comm;
SqlDataAdapter adapter;
DataSet ds = new DataSet();
conn = new SqlConnection(Constr);
comm = new SqlCommand(sql, conn);
adapter = new SqlDataAdapter(comm);
adapter.Fill(ds);
return ds.Tables[0]["state_desc"].ToString();
}
让我知道这是否有帮助,
于 2013-07-31T14:59:08.927 回答