SQL*_*mer 6 sql-server clustering sql-server-2016 mount-point
请帮我解决这个安装问题。
我正在尝试在两个 Windows Server 2012 R2 VM 上安装 SQL Server 2016(SP1 集成)故障转移群集实例 (FCI)。
我有 3 个集群磁盘。
我首先尝试直接安装到这些根目录。失败后,我创建了要安装的子目录。服务帐户和我自己是 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 Network 2;255.255.255.0"
FAILOVERCLUSTERNETWORKNAME="abc-123-IN"
AGTSVCACCOUNT="DOMAIN\sqlsvc-abc-123"
COMMFABRICPORT="0"
COMMFABRICNETWORKLEVEL="0"
COMMFABRICENCRYPTION="0"
MATRIXCMBRICKCOMMPORT="0"
FILESTREAMLEVEL="0"
SQLCOLLATION="SQL_Latin1_General_CP1_CI_AS"
SQLSVCACCOUNT="DOMAIN\sqlsvc-abc-123"
SQLSVCINSTANTFILEINIT="True"
SQLSYSADMINACCOUNTS="DOMAIN\AdminGroup"
SECURITYMODE="SQL"
SQLTEMPDBFILECOUNT="8"
SQLTEMPDBFILESIZE="8"
SQLTEMPDBFILEGROWTH="64"
SQLTEMPDBLOGFILESIZE="1024"
SQLTEMPDBLOGFILEGROWTH="128"
INSTALLSQLDATADIR="E:"
SQLBACKUPDIR="E:\MSSQL\Backup"
SQLUSERDBDIR="E:\MSSQL\Data"
SQLUSERDBLOGDIR="E:\MSSQL\Log"
SQLTEMPDBDIR="E:\MSSQL\Data"
SQLTEMPDBLOGDIR="E:\MSSQL\Data"
FTSVCACCOUNT="NT Service\MSSQLFDLauncher$InstName"
Run Code Online (Sandbox Code Playgroud)
您可能需要在安装点卷而不是文件夹级别设置权限。我怀疑这就是您遇到的问题。
\n\n来自在挂载点文件夹上设置 SQL 权限的指南(突出显示的是 Microsoft 的):
\n\n\n\n\n陷阱
\n\n不幸的是,仍然可以通过 Windows 资源管理器设置/查看装载点根文件夹的权限,这可能会导致\n 意外结果,因为装载点根文件夹的权限可能看似有效,而您可以请参阅 \xe2\x80\x9cproper\xe2\x80\x9d 继承的权限,\n 但是这些不是应用于已安装卷的权限。
\n\n \n\n指南
\n\n\n
\n- 建议您不要将任何文件直接放置在安装点根文件夹中。这将使权限管理变得更加简单,因为趋势是始终检查文件夹权限,在这种情况下这是误导性的。相反,应在装载点根文件夹下创建一个子文件夹,并为该子文件夹设置适当的权限。由于子文件夹是常规文件夹,因此您观察和设置的文件夹权限确实是正在应用的权限。因此,使用前面的示例,您需要创建一个新文件夹:D:\\FolderForVol3**SubfolderXYZ**。现在,像平常一样设置针对新的SubfolderXYZ文件夹的文件夹权限。
\n- 如果您绝对必须将项目直接放置在装载点根文件夹中(不是推荐的方法),那么您将需要设置\n 卷权限,而不是文件夹权限。回想一下,这是因为安装点根文件夹权限不是实际在安装的卷上设置的权限(因为安装点根文件夹不是真正的文件夹)。您可以按如下方式设置卷\n 权限:\n \n
\n\n
- 开始->运行->diskmgmt.msc(查看卷的属性 http://technet.microsoft.com/en-us/library/cc740097.aspx)
\n- 选择卷->属性->安全选项卡
\n- 如果要添加新文件夹供 SQL 使用,请注意 SQL 访问所需的权限:\n \n
\n\n
- 从 SQL Server 2012 开始,权限将分配给每个服务的每服务 SID。\n http://msdn.microsoft.com/en-us/library/jj219062.aspx
\n- 配置 Windows 服务帐户和权限 http://msdn.microsoft.com/en-us/library/ms143504.aspx
\n
我必须解决这个问题的方法是使用cacls.exe实用程序。详细说明可以在这里找到。我怀疑您向用户授予完全权限的命令如下:
\n\ncacls E:\\MSSQL\\Log\\L1 /M /E /G YourUserName:F\ncacls E:\\MSSQL\\Data\\Tempdb1 /M /E /G YourUserName:F\nRun Code Online (Sandbox Code Playgroud)\n\n您还需要为您的帐户以及 SQL Server 服务帐户或组运行此命令。
\n\n最后要注意的是,您必须包含该/E标志,否则它将覆盖该路径上的权限。此行为会带来溃疡和酗酒等额外副作用,因此请确保在运行此命令时不要忘记编辑标志。
另一种选择是删除驱动器并从头开始重新分区。他们仍然可能因最初通过 Windows 资源管理器设置安全性的尝试而陷入混乱(例如,查看第一篇 MS 文章中的Gotcha子句)。
\n\n在这种情况下,如果您仍想写入装载路径上的根文件夹,则需要使用该cacls实用程序。E:\\我还建议在Data、 、Logs、 等上设置三个子文件夹TempDB,然后将所有内容安装到子文件夹中。不要将安装点嵌套到您将安装文件的目录中。