小编SQL*_*mer的帖子

更好地了解 SQL Server 统计信息

我有一个包含 5,000,000 条记录的表,DateOfBirth 列分布在 1950 年和 2007 年之间。索引的统计直方图只有两个 RANGE_HI_KEY。鉴于记录的数量和字段的选择性,我觉得直方图应该有更多的桶。

谁能向我解释为什么 SQL Server 只使用两个 RANGE_HI_KEY ?

注意:我在 2014 年和 2016 年得到相同的统计数据

桌子

CREATE TABLE [dbo].[Person](
    [BusinessEntityID] [INT] NOT NULL,
    [PersonType] [NCHAR](2) NOT NULL,
    [NameStyle] [dbo].[NameStyle] NOT NULL,
    [Title] [NVARCHAR](8) NULL,
    [FirstName] [dbo].[Name] NOT NULL,
    [MiddleName] [dbo].[Name] NULL,
    [LastName] [dbo].[Name] NOT NULL,
    [Suffix] [NVARCHAR](10) NULL,
    [EmailPromotion] [INT] NOT NULL,
    [rowguid] [UNIQUEIDENTIFIER] NOT NULL,
    [ModifiedDate] [DATETIME] NOT NULL,
    [DateOfBirth] [DATE] NOT NULL
)
Run Code Online (Sandbox Code Playgroud)

指数

CREATE NONCLUSTERED INDEX [IX_dbo_Person_DateOfBirth] 
ON [dbo].[Person] ( [DateOfBirth] ASC …
Run Code Online (Sandbox Code Playgroud)

sql-server statistics index-statistics sql-server-2014 sql-server-2016

7
推荐指数
1
解决办法
172
查看次数

即使授予权限,登录也无法查看定义

我有一个 AD 登录名,它位于以下 AD 组中。

  • 域\全局组 1
  • 域\GlobalGroup2
  • 域\GlobalGroup3
  • 域\通用组 1

DOMAIN\UniversalGroup1 已被授予在此 SQL Server 实例 (10.50.6000.34) 上查看任何定义。用户无法查看任何数据库的定义。

DOMAIN\UniversalGroup1 的其他成员似乎能够查看定义。

EXEC xp_logininfo 'DOMAIN\user','all'
Run Code Online (Sandbox Code Playgroud)

仅显示 3 个 GlobalGroup。这是xp_logininfo 过程的记录限制。

EXEC xp_logininfo 'DOMAIN\UniversalGroup1','members'
Run Code Online (Sandbox Code Playgroud)

确认用户的组成员身份。

我该如何解决这个问题?该问题是否与全局组和通用组之间的差异有任何关系?

sql-server permissions sql-server-2008-r2 active-directory

7
推荐指数
1
解决办法
260
查看次数

SQL Server FCI 安装与装载点权限问题

请帮我解决这个安装问题。

我正在尝试在两个 Windows Server 2012 R2 VM 上安装 SQL Server 2016(SP1 集成)故障转移群集实例 (FCI)。

我有 3 个集群磁盘。

  • 数据驱动器:E:\
  • 日志挂载点:E:\MSSQL\Log\L1
  • Tempdb 挂载点:E:\MSSQL\Data\Tempdb1

我首先尝试直接安装到这些根目录。失败后,我创建了要安装的子目录。服务帐户和我自己是 VM 的本地管理员,我明确授予对每个子目录的完全控制权。最后,我暂时尝试忽略挂载点,只安装到 E: 上的子目录。所有尝试都失败并出现以下错误。

详细结果:功能:数据库引擎服务状态:失败:有关详细信息,请参阅日志失败原因:在功能的设置过程中发生错误。下一步:使用以下信息解决错误,卸载此功能,然后再次运行安装过程。组件名称:
SQL Server 数据库引擎服务实例功能组件错误代码:0x84CF0004 错误描述:更新文件夹“E:\MSSQL\Data\TempDB1\System Volume Information”的权限设置时,文件“E:\MSSQL\Data\”的权限设置更新失败TempDB1\系统卷信息\ResumeKeyFilter.Store'。文件夹权限设置应该设置为 'D:P(A;OICI;FA;;;BA)(A;OICI;FA;;;SY)(A;OICI;FA;;;CO)(A; OICI;FA;;;S-1-5-80-419818685-2113908795-3893829424-1849583840-1690709397)'。错误帮助链接:http :
//go.microsoft.com/fwlink?LinkId=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=13.0.4001.0&EvtType=0x88792597%400x72597%400x720000000000x8000x8700x8700000

下面是用于安装的配置文件的匿名版本。

;SQL Server 2016 Configuration File
[OPTIONS]

ACTION="InstallFailoverCluster"
SUPPRESSPRIVACYSTATEMENTNOTICE="False"
IACCEPTROPENLICENSETERMS="False"
IAcceptSQLServerLicenseTerms="True"
ENU="True"
QUIET="False"
QUIETSIMPLE="True"
UpdateEnabled="True"
USEMICROSOFTUPDATE="False"
FEATURES=SQLENGINE,REPLICATION,FULLTEXT,DQ,CONN,BC,SDK,SNAC_SDK
UpdateSource="MU"
HELP="False"
INDICATEPROGRESS="True"
X86="False"
INSTANCENAME="InstName"
INSTALLSHAREDDIR="C:\Program Files\Microsoft SQL Server"
INSTALLSHAREDWOWDIR="C:\Program Files (x86)\Microsoft SQL Server"
INSTANCEID="InstName"
INSTANCEDIR="C:\Program Files\Microsoft SQL Server"
FAILOVERCLUSTERDISKS="Cluster Disk 7"
FAILOVERCLUSTERGROUP="SQL Server (InstName)"
FAILOVERCLUSTERIPADDRESSES="IPv4;10.10.10.17;Cluster …
Run Code Online (Sandbox Code Playgroud)

sql-server clustering sql-server-2016 mount-point

6
推荐指数
1
解决办法
3510
查看次数