如何在 C# 中检查 SQL 中是否启用了 Broker Service?

发布于 2024-09-13 06:46:53 字数 76 浏览 6 评论 0原文

我想检查 Broker Service 是否正在使用代码运行,并根据状态启动 sqldependency 或不启动。我怎样才能做到这一点?

I want to check if Broker Service is running using code and depending on the status, start sqldependency or not. How can I do that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

毁我热情 2024-09-20 06:46:53

您可以执行一个简单的查询:

SELECT is_broker_enabled FROM sys.databases WHERE Name = 'mydatabasename'

或者,您可以启动 SqlDependency 并捕获在尚未启用它时收到的错误,但第一个方法更简单更好:

  try {
      SqlDependency.Start();
  } catch (InvalidOperationException ex) {
      // If broker hasn't been enabled, you'll get the following exception:
      //
      // The SQL Server Service Broker for the current database is not enabled, and
      // as a result query notifications are not supported.  Please enable the Service
      // Broker for this database if you wish to use notifications.
  }

You can do a simple query:

SELECT is_broker_enabled FROM sys.databases WHERE Name = 'mydatabasename'

Alternatively you can just start the SqlDependency and trap the error you get if it hasn't been enabled, but the first method is simpler and better:

  try {
      SqlDependency.Start();
  } catch (InvalidOperationException ex) {
      // If broker hasn't been enabled, you'll get the following exception:
      //
      // The SQL Server Service Broker for the current database is not enabled, and
      // as a result query notifications are not supported.  Please enable the Service
      // Broker for this database if you wish to use notifications.
  }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文