皆さんに2つの質問があります。本当にありがとうございました。
1.-可用性グループの名前を変更する方法はありますか?
2.-削除して再度作成する必要がある場合に備えて、可用性グループを再作成するためにT-SQLステートメントを取得する方法はありますか?
共有してほしい情報があればお知らせください。提供させていただきます。
作成された可用性グループ(AG)の名前は変更できませんが、AG内のデータベースの名前は変更できます。再作成する必要があります。 AGを変更するためのオプションについては、こちらをご覧ください: https://msdn.Microsoft.com/en-us/library/ff878601.aspx
GUI(ウィザード)を使用してAGを作成する場合、すべてのステップが完了すると、「スクリプト」ボタンが表示され、それらのステップのスクリプトを新しいウィンドウに生成するオプションが提供されます。その後、スクリプトを保存してGUIを終了するか、ウィザードを「終了」して実際にAGを作成できます。 (スクリプトはウィンドウ内に残ります)後で再作成する必要がある場合に備えて、スクリプトを保持することをお勧めします(たとえば、AGの名前を変更したい場合...)
たとえば、テーブルやストアドプロシージャの場合とは異なり、AGを "Script As ..."することは現在のところ可能ではないようです。
また、MSDNボイラープレートコードを開始点として使用して、最初からCREATE AVAILABILITY GROUPステートメントを作成することもできます( https://msdn.Microsoft.com/en-us/library/ff878399.aspx )が、続行する前にすべてが揃っていることを確認するGUIを使用する場合に比べて、非常に扱いにくく、エラーが発生しやすくなります。
コメントに記載されているように、これには重大な免責事項があります:私はnot回帰テストを行ったので(まだ)、最後まで読んで、私が行ったことを理解し、テストしてください特定のサポート(バックアップ)ソフトウェアを使用したダミーのセットアップでnot実行している最も価値のあるデータベースサーバーの本番インスタンスで最初(または2回目)の時間を試してください。
このジレンマに正面から取り組むためには、Always-On Availablity Groupが実際にはSQLエンティティではなく、実際にはクラスターリソースであることを理解する必要があります。 SQL Server Management Studioは名前の変更を考慮して作成されていませんが、SQL Serverが行うのは、バックエンドでクラスターリソースを作成することです。したがって、それを変更できる方法は、フェールオーバークラスターマネージャーツールを使用することです。私が取った最初のステップは、ここでGUIを使用することでしたが、ステップ3で気づくように、GUIを使用して変更できない小さな部分があります。確かに最初の2つのステップもスクリプト化できるはずですが、認めましょう。どれくらいの頻度でそれを実行するのでしょうか。それは実際に調べる価値があるのでしょうか。
それで、次にGUIに...
通常、AOグループは次のような値を返します。
PS C:\> Get-ClusterResource AOGROUPNAME* | FT -autosize
Name State OwnerGroup ResourceType
---- ----- ---------- ------------
AOGROUPNAME Online AOGROUPNAME SQL Server Availability Group
AOGROUPNAME_10.1.2.3 Online AOGROUPNAME IP Address
AOGROUPNAME_AOGROUPNAME Online AOGROUPNAME Network Name
ただし、AOグループ名OLDNAMEがNEWNAMEに変更されたとすると、次のように表示されます。
PS C:\> Get-ClusterResource NEWNAME* | FT -autosize
Name State OwnerGroup ResourceType
---- ----- ---------- ------------
NEWNAME Online NEWNAME SQL Server Availability Group
NEWNAME_10.1.2.3 Online NEWNAME IP Address
NEWNAME_OLDNAME Online NEWNAME Network Name
これは、古い命名の最後の残りであり、powershellコマンドを使用して修正できます。
PS C:\> Get-ClusterResource "NEWNAME_OLDNAME"| % { $_.Name="NEWNAME_NEWNAME"}
ここではフィードバックは得られませんが、コマンドを繰り返して元のリソース名を表示すると、実際にリソース名が変更されたことがわかります。
Disclamer:最初に述べたように、これは互換性について(まだ)テストされていません。私のシナリオでは、すべてがうまく機能しているように見えますが、それでも...
また、変更しようとしている名前がADに一致するコンピューターオブジェクトを持っているか、DNSに手動で追加されたAレコードまたはCNAMEレコードを持っていると、変更中に重大な問題が発生する可能性があります。何もないことを完全に確認(トリプルチェック)してください。そうしないと、エラーメッセージが表示され、クラスタリソースデータベースがおかしな名前で混乱します。私は手動のAレコードを持っていたので、必要な場所にすべてが元に戻ることを確認するために、もう少し踏み込む必要がありました。