0

我正在使用 SMO 对象来访问我的数据库。我在 SQL Server 上启用了服务代理。我想知道是否有人知道如何通过代码(VB/C#)启用/禁用队列。我试过ServiceQueue.IsEnqueueEnabled了,但这只会设置属性。

4

1 回答 1

1

控制 的属性STATUS = {ON | OFF}确实是.IsEnqueueEnabled。但是所有 SMO 修改仅在.Alter()调用该方法之前都在内存中:

Alter 方法更新自创建 ServiceQueue 对象或自上一个 Alter 语句以来对 ServiceQueue 对象的属性所做的任何更改。

这是与 SMO 对象交互的一般方式,更改仅在显式应用之前在内存中。

如果您好奇为什么将该属性称为IsEnqueueEnabled简短答案,则该名称(正确地)反映了sys.service_queues.is_enqueue_enabled. 长久以来,该列之所以如此命名,是因为曾几何时,队列具有分别为入队和出队禁用的能力。这种分离并没有使 2005 RTM 变得轻而易举,但在目录视图中留下了痕迹。

于 2013-02-06T13:20:22.777 回答