问题描述
我有一个兼容级别为130的sql Server2016。我尝试使用以下查询来查找ARITHABORT设置是否为ON?他们给出了不同的结果
参考:MSDN
---Microsoft sql Server 2016 (SP1-CU8) with Compatibilty Level - 130
SELECT compatibility_level
FROM sys.databases WHERE name = 'MyDB';
GO
CREATE TABLE #Sp_Result ([name] nvarchar(35),[minimum] int,[maximum] int,[config_value] int,[run_value] int);
INSERT INTO #Sp_Result ([name],[minimum],[maximum],[config_value],[run_value])
EXEC sp_configure 'user_options';
SELECT 'ARITHABORT - ' + CASE WHEN ([config_value] & 64) = 64 THEN 'ON' ELSE 'OFF' END
FROM #Sp_Result;
DECLARE @Val VARCHAR(3) = 'OFF';
IF ( (64 & @@OPTIONS) = 64 )
SET @Val = 'ON';
SELECT 'ARITHABORT - ' + @Val AS ARITHABORT;
结果
compatibility_level
-------------------
130
----------------
ARITHABORT - OFF
-----------------------------------
ARITHABORT
----------------
ARITHABORT - ON
哪个结果正确?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)