ber*_*d_k 2 sql-server-2008 sql-server
当我必须调查由 IMPLICIT_TRANSACTIONS ON 引起的问题时,我可以专注于客户端工具设置 IMPLICIT_TRANSACTIONS ON 或 ANSI_DEFAULTS ON 还是可以针对影响所有客户端的整个数据库进行设置?
我可以通过将标准脚本头更改为来避免该问题
SET ANSI_DEFAULTS ON
SET IMPLICIT_TRANSACTIONS OFF
Run Code Online (Sandbox Code Playgroud)
但是这个设置会在哪些级别的会话、数据库、服务器上受到影响呢?
编辑:
似乎可以在服务器级别进行设置。
在“服务器属性”对话框(“连接”页面)中,我发现选项已更改并编写了脚本:
隐式交易:
EXEC sys.sp_configure N'user options', N'2'
GO
RECONFIGURE WITH OVERRIDE
GO
Run Code Online (Sandbox Code Playgroud)
隐式交易关闭:
EXEC sys.sp_configure N'user options', N'0'
GO
RECONFIGURE WITH OVERRIDE
GO
Run Code Online (Sandbox Code Playgroud)
但执行
exec('dbcc useroptions')
Run Code Online (Sandbox Code Playgroud)
SSMS中没有反映变化。对于此类连接,服务器设置似乎以某种方式被覆盖。
现在我必须重新提出这个问题,
是否有客户端不会覆盖服务器设置,并且在服务器设置更改时可能会崩溃。