Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 获取集合统计信息的当前值[XML | TIME | IO]_Sql Server_Tsql - Fatal编程技术网

Sql server 获取集合统计信息的当前值[XML | TIME | IO]

Sql server 获取集合统计信息的当前值[XML | TIME | IO],sql-server,tsql,Sql Server,Tsql,使用T-SQL,如何检索可以使用这些命令设置的当前配置值 SET STATISTICS TIME ON SET STATISTICS XML ON SET STATISTICS IO ON 我查看了@@OPTIONS,但没有提到它们。任何其他魔法变量或系统表?将作为结果集返回设置: DBCC USEROPTIONS; 样本结果: +-------------------------+----------------+ | Set Option | Value

使用T-SQL,如何检索可以使用这些命令设置的当前配置值

SET STATISTICS TIME ON
SET STATISTICS XML ON
SET STATISTICS IO ON
我查看了
@@OPTIONS
,但没有提到它们。任何其他魔法变量或系统表?

将作为结果集返回设置:

DBCC USEROPTIONS;
样本结果:

+-------------------------+----------------+
|       Set Option        |     Value      |
+-------------------------+----------------+
| textsize                | 2147483647     |
| language                | us_english     |
| dateformat              | mdy            |
| datefirst               | 7              |
| statistics time         | SET            |
| statistics io           | SET            |
| statistics XML          | SET            |
| lock_timeout            | -1             |
| quoted_identifier       | SET            |
| arithabort              | SET            |
| ansi_null_dflt_on       | SET            |
| ansi_warnings           | SET            |
| ansi_padding            | SET            |
| ansi_nulls              | SET            |
| concat_null_yields_null | SET            |
| isolation level         | read committed |
+-------------------------+----------------+
可以将结果插入临时表或变量中,以进行其他查询/筛选。此示例包括感兴趣的选项,并执行左连接以包括可能未设置的选项:

DECLARE @results TABLE(
     SetOption sysname
    ,Value nvarchar(46)
);
INSERT INTO @results(SetOption, Value)
    EXEC(N'DBCC USEROPTIONS;');
SELECT
      so.SetOption 
    , COALESCE (Value, N'NOT SET') AS Value
FROM (VALUES
     (N'statistics time')
    ,(N'statistics xml')
    ,(N'statistics io')
) AS so(SetOption)
LEFT JOIN @results AS r ON r.SetOption = so.SetOption;

SET STATISTICS TIME OFF;
SET STATISTICS XML OFF;
SET STATISTICS IO ON;
DECLARE @results TABLE(
     SetOption sysname
    ,Value nvarchar(46)
);
INSERT INTO @results(SetOption, Value)
    EXEC(N'DBCC USEROPTIONS;');
SELECT
      so.SetOption 
    , COALESCE (Value, N'NOT SET') AS Value
FROM (VALUES
     (N'statistics time')
    ,(N'statistics xml')
    ,(N'statistics io')
) AS so(SetOption)
LEFT JOIN @results AS r ON r.SetOption = so.SetOption;
结果:

+-----------------+---------+
|    SetOption    |  Value  |
+-----------------+---------+
| statistics time | NOT SET |
| statistics xml  | NOT SET |
| statistics io   | SET     |
+-----------------+---------+

太棒了,谢谢。如果其他人试图在其存储过程中处理输出,请参见@Hannobo,我添加了一个示例来扩展该技术。