sql server 2005 T-SQL ALTER SERVICE (Transact-SQL)

更改现有的服务。

主题链接图标 Transact-SQL 语法约定

ALTER SERVICE service_name 
[ ON QUEUE [ schema_name . ]queue_name ]
[ ( < opt_arg > [ , ...n ] ) ]
[ ; ]

<opt_arg> ::=
ADD CONTRACT contract_name | DROP CONTRACT contract_name
service_name

要更改的服务的名称。不能指定服务器、数据库和架构名称。

ON QUEUE [ schema_name . ] queue_name

为此服务指定新队列。Service Broker 将此服务的所有消息从当前队列移动到新队列。

ADD CONTRACT contract_name

指定要添加到由此服务公开的约定集中的约定。

DROP CONTRACT contract_name

指定要从由此服务公开的约定集中删除的约定。Service Broker 将对使用该约定的、与此服务进行的所有现有会话发送错误消息。

当 ALTER SERVICE 语句从某个服务中删除一条约定后,此服务便不可再作为使用该约定的会话的目标。因此,Service Broker 将不允许使用该约定与此服务建立新会话。使用该约定的现有会话不受影响。

若要更改服务的 AUTHORIZATION,请使用 ALTER AUTHORIZATION 语句。

更改服务的权限将默认授予服务的所有者、ddl_admindb_owner 固定数据库角色的成员以及 sysadmin 固定服务器角色的成员。

A. 更改服务队列

下面的示例将 //Adventure-Works.com/Expenses 服务更改为使用队列 NewQueue

ALTER SERVICE [//Adventure-Works.com/Expenses]
ON QUEUE NewQueue ;

B. 向服务中添加新约定

下面的示例将 //Adventure-Works.com/Expenses 服务更改为允许在 //Adventure-Works.com/Expenses 约定上进行对话。

ALTER SERVICE [//Adventure-Works.com/Expenses]
(ADD CONTRACT [//Adventure-Works.com/Expenses/ExpenseSubmission]) ;

C. 向此服务中添加新约定,并删除现有约定

下面的示例将 //Adventure-Works.com/Expenses 服务更改为允许在 //Adventure-Works.com/Expenses/ExpenseProcessing 约定上进行对话,而不允许在 //Adventure-Works.com/Expenses/ExpenseSubmission 约定上进行对话。

ALTER SERVICE [//Adventure-Works.com/Expenses]
(ADD CONTRACT [//Adventure-Works.com/Expenses/ExpenseProcessing],
DROP CONTRACT [//Adventure-Works.com/Expenses/ExpenseSubmission]) ;
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值