sp_procxmode [<procname >[,< tranmode>]]<procname>
是存储过程的名称,您要检查或更改的就是该存储过程的事务模式。
<tranmode>
是存储过程的执行模式。其值包括:
显示当前数据库中所有存储过程的事务模式:
sp_procxmodeprocedure name user name transaction mode
------------------ --------- ----------------
byroyalty dbo Unchained
discount_proc dbo Unchained
history_proc dbo Unchained
insert_sales_proc dbo Unchained
insert_detail_proc dbo Unchained
storeid_proc dbo Unchained
storename_proc dbo Unchained
title_proc dbo Unchained
titleid_proc dbo Unchained显示存储过程 byroyalty 的事务模式:
sp_procxmode byroyaltyprocedure name transaction mode
-------------- ----------------
byroyalty Unchained将 pubs2 数据库中存储过程 byroyalty 的事务模式从 unchained 更改为 chained:
sp_procxmode byroyalty, "chained"使用 sp_procxmode 时,还存在一些其它注意事项:
sp_procxmode "otherdb.otheruser.newproc", "chained"sp_procxmode <procname>sp_procxmode <procname>, <tranmode>- 您只能在使用 chained 事务模式的会话中执行链式存储过程。
- 您只能在使用 unchained 事务模式的会话中执行非链式存储过程。
要在链式或非链式会话中执行特定存储过程,请将其事务模式设置为 anymode。