【1】查看当前用户会话参数
DBCC USEROPTIONS;
里面有Set 的,标识已经设置成了ON
https://docs.microsoft.com/zh-cn/sql/t-sql/statements/set-statements-transact-sql?view=sql-server-ver15
SET 语句可分为下表中列出的几个类别。
SET @local_variable (Transact-SQL)。
使用 SET 语句时的注意事项
-
在执行过程中或运行时运行的所有 SET 语句,除了在分析时运行的这些语句之外:
- SET FIPS_FLAGGER
- SET OFFSETS
- SET PARSEONLY
- 和 SET QUOTED_IDENTIFIER
-
同样,如果是在使用 sp_executesql 或 EXECUTE 运行的动态 SQL 字符串中指定 SET 语句,则从在动态 SQL 字符串中指定的批处理返回控制后,将恢复 SET 选项的值 。
-
如果在存储过程内使用任何 SET 设置,则该设置将被忽略。
-
此设置的行为还类似于显式 SET 语句,只是后者发生在登录时。
-
数据库设置优先于使用 sp_configure 设置的实例选项设置 。
-
如果 SET 语句使用 ON 和 OFF 时,则可为一个语句指定多个 SET 选项。
备注
这不适用与统计相关的 SET 选项。
例如,
SET QUOTED_IDENTIFIER, ANSI_NULLS ON可将 QUOTED_IDENTIFIER 和 ANSI_NULLS 设置为 ON。 -
此外,如果用户在连接到数据库时依据的值是因为先前使用 sp_configure user options 设置而生效的,或者所依据的值适用于所有 ODBC 和 OLE/DB 连接,则一些连接设置将自动设置为 ON 。
-
ALTER、CREATE 和 DROP DATABASE 语句不提供 SET LOCK_TIMEOUT 设置。
-
快捷 SET 语句的示例将为 SET ANSI_DEFAULTS。
-
在存储过程的外部运行的以及批处理中的计划外查询和所有其他语句,将继承通过 USE 语句建立的数据库和连接的选项设置。
-
在此更改之后,同一会话中执行的新请求将使用这些新的 SET 选项设置。
-
例如,存储过程 db1.dbo.sp1 调用存储过程 db2.dbo.sp2 时,执行存储过程 sp1 时将使用数据库 db1 的当前兼容级别设置,执行存储过程 sp2 时将使用数据库 db2 的当前兼容级别设置 。
-
Transact-SQL 语句在存储过程中,则连接上下文是包含该存储过程的数据库。
-
将选项 NUMERIC_ROUNDABORT 设置为 OFF。
SQL Server 将对这些表或索引视图运行 SELECT 语句,就好像计算列或视图中不存在索引。
-
适用对象:Azure SQL 数据仓库 Gen2