コンピューターオブジェクトの作成権限がないActive Directory(AD)環境でSQL ServerのAlwaysonリスナーを作成する方法はありますか? AD管理者が私のためにコンピュータ名を作成しました。それをリスナーに接続する方法はありますか? ADでオブジェクトを作成する権限がないため、次のTSQLは失敗します。
USE [master] GO ALTER AVAILABILITY GROUP [VG-AdventureWorks2014] ADD LISTENER N'DNSCOMPUTERNAME' ( WITH IP ((N'XXX.XXX.XXX.XXX', N'255.XXX.XXX.XX') ) , PORT=1431); GO
会社のポリシーでは、DBAのAD権限は許可されていません。
リスナーを事前設定する適切な方法と、クラスターがリスナー自体を作成できるようにする方法の1つがあります。あなたのアカウントは、FCM/PowershellまたはSQL Serverを介してリスナーを作成するときにADがリスナーを作成することを承認するために使用されるものではないことに注意してください。CNOはセキュリティコンテキストとして使用されます。
公式のプレステージ方法
公式の自動作成方法
指定された他の回答に記載されている方法は、ステージング前の方法と複数のリスナーを作成する方法の組み合わせです。さらに、セキュリティに関しては不適切な構成になっており、そのようにすると、おそらく戻ってきてあなたを噛んでしまいます。
見つかった唯一の回避策は次のとおりです。
それでもリスナーを使用することはできません。ポートを割り当てるには、T-SQLを実行するために戻る必要があります。 1433(デフォルトのSQLリスニングポート)を使用しています。
USE [master] GO ALTER AVAILABILITY GROUP [VG-AdventureWorks2014] MODIFY LISTENER 'VG-AdventureWorks2014_Listener1' (port = 1433) GO
作成したリスナーに接続すると、可用性グループのプライマリレプリカをホストする正しいインスタンスが表示されます。
この回避策のアイデアは Qiang WangによるMicrosoftブログ からのものです。