为当前数据库中全部用户表的所有合格列创建单列统计。新的统计与创建统计所在的列同名。不能将计算列和 ntext、text 或 image 数据类型的列指定为统计列。不能涉及已经有统计的列(例如,索引的第一列或显式创建统计的列。)。对每个符合上述限制的列执行 CREATE STATISTICS 语句。如果指定 fullscan,则执行 FULLSCAN。
sp_createstats [ [ @indexonly = ] 'indexonly' ]
[ , [ @fullscan = ] 'fullscan' ]
[ , [ @norecompute = ] 'norecompute' ]
[@indexonly =] 'indexonly'
指定只有参与索引的列才考虑创建统计。indexonly 的数据类型为 char(9),默认值为 NO。
[@fullscan =] 'fullscan'
指定 FULLSCAN 选项与 CREATE STATISTICS 语句一同使用。如果省去 fullscan,则 Microsoft® SQL Server™ 执行一个默认的实例扫描。fullscan 的数据类型为 char(9),默认值为 NO。
[@norecompute =] 'norecompute'
指定对新创建的统计禁用自动重新计算统计。norecompute 的数据类型为 char(12),默认值为 NO。
0(成功)或 1(失败)
无
权限默认授予 sysadmin 固定服务器角色和 db_owner 固定服务器角色的成员以及对象的所有者。
下面的示例为当前数据库中全部用户表的所有合格列创建统计。
EXEC sp_createstats
下面的示例只为参与索引的列创建统计。
EXEC sp_createstats 'indexonly'