web-dev-qa-db-ja.com

マウントポイントの権限に関するSQL Server FCIのインストールの問題

このインストールの問題を乗り越えるのを手伝ってください。

SQL Server 2016(SP1スリップストリーム)フェールオーバークラスターインスタンス(FCI)を2つのWindows Server 2012 R2 VMにインストールしようとしています。

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\System Volume Information\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%400xBB814387&EvtType=0x88792597%400xBB814387

以下は、インストールに使用されている構成ファイルの匿名バージョンです

;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"
6
SQL Hammer

folderレベルではなく、マウントポイントvolumeにアクセス許可を設定する必要がある場合があります。これはあなたが遭遇している問題だと思います。

から マウントポイントフォルダーにSQLアクセス許可を設定するためのガイドライン (強調表示はMicrosoftのものです):

Gotchas

残念ながら、Windowsエクスプローラーを介してマウントポイントのルートフォルダーにアクセス許可を設定/表示することは引き続き可能です。マウントポイントのルートフォルダーのアクセス許可は有効に見え、継承された「適切な」アクセス許可を確認できるため、予期しない結果が生じる可能性がありますただし、これらはマウントされたボリュームに適用される権限ではありません。

ガイドライン

  1. マウントポイントのルートフォルダーに直接ファイルを配置しないでくださいをお勧めします。これにより、常にフォルダーのアクセス許可を確認する傾向があるため、アクセス許可の管理がはるかに簡単になります。 代わりに、マウントポイントのルートフォルダーの下にサブフォルダーを作成し、そのサブフォルダーに適切なアクセス許可を設定します。サブフォルダーは通常のフォルダーであるため、監視および設定するフォルダーのアクセス許可は、実際に適用されるアクセス許可です。したがって、前の例を使用して、新しいフォルダーを作成する必要があります:D:\ FolderForVol3 ** SubfolderXYZ **。次に、通常のように、その新しいSubfolderXYZフォルダに対してフォルダのアクセス許可を設定します。
  2. アイテムをmount-point root folderに直接配置する必要がある場合(推奨する方法ではありません)、フォルダーのアクセス許可ではなく、ボリュームのアクセス許可を設定する必要があります。これは、マウントポイントのルートフォルダーのアクセス許可が、マウントされたボリュームに実際に設定されるアクセス許可ではないことを思い出してください(マウントポイントのルートフォルダーは実際のフォルダーではないため)。ボリュームの権限は次のように設定できます。
  3. SQLが使用する新しいフォルダーを追加する場合は、SQLアクセスに必要な権限に注意してください。

私がこれを解決しなければならない方法は、cacls.exeユーティリティを使用することでした。詳しい説明は here にあります。ユーザーに完全な権限を付与するコマンドは次のようになると思います。

cacls E:\MSSQL\Log\L1 /M /E /G YourUserName:F
cacls E:\MSSQL\Data\Tempdb1 /M /E /G YourUserName:F

これを自分のアカウントとSQL Serverサービスアカウントまたはグループに対しても実行する必要があります。

ここでの最後の注意として、/Eフラグを含めることは必須です。そうしないと、そのパスの権限が上書きされます。この動作には、潰瘍や大量飲酒による追加の副作用があるため、このコマンドを実行するときは編集フラグを忘れないようにしてください。


別のオプションは、ドライブを削除して、最初からパーティションを再作成することです。それでも、Windowsエクスプローラーを介してセキュリティを設定する最初の試みから混乱している可能性があります(たとえば、最初のMS記事のGotcha句を確認してください)。

この場合、マウントパスのルートフォルダーに引き続き書き込みたい場合は、caclsユーティリティを使用する必要があります。また、DataLogsTempDBなどのE:\に3つのサブフォルダーを設定し、すべてをサブフォルダーにインストールすることをお勧めします。ファイルをインストールするディレクトリにマウントポイントをネストしないでください。

4
John Eisbrener

Microsoft SQL Server 2014セットアップ:フェールオーバークラスターインストールのセットアップ

次のエラーが発生しました:

ファイルG:\ System Volume Information\ResumeKeyFilter.Storeのアクセス許可設定の更新に失敗しました。
ファイルの権限設定は、D:P(A; OICI; FA ;;; BA)(A; OICI; FA ;;; SY)(A; OICI; FA ;;; CO )(A; OCICI; FA ;;; S-1-5-80-3880718306-383280129-1677859214-2598158968-1052248003)

解決済み(回避策)

最初にこの隠しフォルダー(システムボリューム情報)を表示するには、[表示]タブをクリックして[非表示のアイテム]を選択し、[オプション]タブに移動して[表示]タブをクリックし、[保護されたオペレーティングシステムファイルを非表示にする(推奨)]をオフにします。

問題を解決するには、G:\System Volume Information\フォルダーとファイルを右クリックResumeKeyFilter.Storeプロパティをクリックし、[セキュリティ]タブでインストールユーザーを追加します。私の場合は、グリッドと呼ばれるドメインユーザーを使用しており、このユーザーを許可のために追加します。

0
Ghouse M Khan