Microsoft SQL Serverリソースは、フェイルオーバーおよびフェイルバックの動作中にSQL Serverサービスを管理することで、SQL Serverインスタンスを保護します。プライマリーサーバーで障害が発生すると、LifeKeeperはスタンバイサーバー上でSQL ServerサービスをIn-Service状態にします。

リソースタイプ: database/sqlapp
エイリアス: sqlapp

前提条件

  • プライマリーサーバーにMicrosoft SQL Serverをインストールする必要があります。
  • SQL Serverインスタンスが存在し、指定された認証情報で接続できる必要があります。
  • 名前付きインスタンスの場合、そのインスタンスが構成済みで、指定されたインスタンス名でアクセス可能である必要があります。
  • --ip-resourceが指定されている場合、参照されるLifeKeeper IPリソースはサーバー上に既に存在している必要があります。
  • --relocation-volumeが指定されている場合、参照される共有ボリュームまたはレプリケートボリュームは、サーバー上に既に存在し、かつLifeKeeperリソースによって保護されている必要があります。
  • 監視用に指定されたMicrosoft SQL Serverユーザー(—sql-usernameフラグで指定)には、固定のサーバーロール「sysadmin」(SA権限)が必要です。

サブコマンド

Microsoft SQL Serverリソースは、次の形式のコマンドで管理されます。

lkcli resource database/sqlapp <サブコマンド> [フラグ]

サブコマンド 説明 必要なロール
create 新しいSQL Serverリソースを作成します admin
extend スタンバイサーバーに拡張します admin
get-property リソースプロパティを読み取ります guest
set-property 編集可能なリソースプロパティを更新します admin

create

lkcli resource database/sqlapp create \
  --instance=<文字列> --sql-username=<文字列> --sql-password=<文字列> [フラグ]

フラグ 短縮表記 タイプ 必須 デフォルト 制約 説明
--instance 文字列 必須 SQL Serverインスタンス名。デフォルトのインスタンスには MSSQLSERVERを使用します。
--sql-username 文字列 必須 SQL Server管理者ユーザー名
--sql-password 文字列 必須 SQL Server管理者パスワード
--protected-service-list 配列 任意 SQL Serverと連動してIn-Service/Out of service状態にする、追加のWindowsサービス表示名のカンマ区切りリスト(例: “SQL Browser,SQL Server Agent (INSTANCE1)“)
--ip-resource 文字列 任意 このリソースと連動してIn-Service/Out of service状態にする、LifeKeeper IPリソースのタグ
--relocation-volume 文字列 任意 データベースファイル移動先の共有ボリュームまたはレプリケートボリュームのドライブレター
--tag 文字列 任意 自動生成 リソースタグ名
--switchback 列挙型 任意 INTELLIGENT INTELLIGENT, AUTOMATIC スイッチバックタイプ
--local-recovery 列挙型 任意 enabled enabled, disabled ローカルリカバリーを有効にします (Windowsのみ)
--quickcheck-interval 整数 任意 180 最小: 0、最大: 604800 クイックチェックの間隔(秒、Windowsのみ)
--deepcheck-interval 整数 任意 300 最小: 0、最大: 604800 ディープチェックの間隔(秒、Windowsのみ)

--protected-service-list に関する注意点 :作成時には、WindowsサービスのMMCスナップインに表示されるサービス 表示名 (例:”SQL Server Agent (INSTANCE1)“)を指定してください。一方、get-propertyでプロパティを読み取る場合やset-propertyで更新する場合は、 サービスの短縮名 を使用してください。

extend

lkcli resource database/sqlapp extend \
  --primary-sys=<文字列> --primary-tag=<文字列> [フラグ]

フラグ 短縮表記 タイプ 必須 デフォルト 制約 説明
--primary-sys 文字列 必須 既存のリソースの拡張元サーバーのホスト名
--primary-tag 文字列 必須 拡張する既存リソースのタグ
--standby-sys 文字列 任意 --hostの値(デフォルトはlocalhost スタンバイサーバーのホスト名
--switchback 列挙型 任意 INTELLIGENT INTELLIGENT, AUTOMATIC スイッチバックタイプ
--primary-priority 整数 任意 デフォルトは、--primary-sysサーバーの現在の優先順位。リソースが拡張されていない場合は1 最小: 1、最大: 999 プライマリーサーバーのフェイルオーバーの優先順位
--standby-priority 整数 任意 デフォルトは現在使用中の優先順位に基づいて動的に算出される、未使用の値 最小: 1、最大: 999 スタンバイサーバーのフェイルオーバーの優先順位

get-property / set-property

lkcli resource database/sqlapp get-property --tag=<文字列> --property=<文字列>
lkcli resource database/sqlapp set-property --tag=<文字列> --property=<文字列> --value=<文字列>

フラグ 短縮表記 タイプ 必須 説明
--tag -t 文字列 必須 リソースタグ名
--property -p 文字列 必須 プロパティ名(「プロパティ」の表を参照)
--value -v 文字列 必須 (set-propertyのみ) 新しいプロパティ値

追加のset-propertyフラグ:

Flag Type Default Constraints Description
--update-cluster 列挙型 yes yes, no プロパティの変更をすべてのクラスターノードに適用するかどうかを指定します

プロパティ

プロパティ タイプ 制約 編集可否 説明
instance 文字列 不可 SQL Serverインスタンス名
sql-version 文字列 不可 インストールされているSQL Serverのバージョン
db-auth オブジェクト SQL Server認証情報オブジェクト
protected-service-list 配列 保護対象のWindowsサービスのリスト(注:set-propertyはサービスの短縮名を使用し、get-propertyも短縮名を返します)
protected-db-list 配列 保護対象のデータベースのリスト
kit-name 文字列 不可 Recovery Kit名
switchback 列挙型 INTELLIGENT, AUTOMATIC スイッチバックタイプ
quickcheck-interval 整数 最小: 0、最大: 604800 クイックチェックの間隔(秒)(Windowsのみ、デフォルト:180)
deepcheck-interval 整数 最小: 0、最大: 604800 ディープチェックの間隔(秒) (Windowsのみ、デフォルト:300)
local-recovery 列挙型 enabled, disabled ローカルリカバリーを有効にします (Windowsのみ)

使用例

# Create a SQL Server resource for the default instance
lkcli resource database/sqlapp create \
  --host=server1 \
  --instance=MSSQLSERVER \
  --sql-username=sa \
  --sql-password=MyPassword! \
  --tag=sqlapp.MSSQLSERVER

# Create with additional protected services
lkcli resource sqlapp create \
  --host=server1 \
  --instance=INSTANCE1 \
  --sql-username=sa \
  --sql-password=MyPassword! \
  --protected-service-list="SQL Browser,SQL Server Agent (INSTANCE1)" \
  --tag=sqlapp.INSTANCE1

# Extend the resource to server2
lkcli resource database/sqlapp extend \
  --primary-sys=server1 \
  --primary-tag=sqlapp.MSSQLSERVER \
  --standby-sys=server2

# Get the current switchback setting
lkcli resource database/sqlapp get-property \
  --host=server1 \
  --tag=sqlapp.MSSQLSERVER \
  --property=switchback

# Change switchback type
lkcli resource sqlapp set-property \
  --host=server1 \
  --tag=sqlapp.MSSQLSERVER \
  --property=switchback \
  --value=AUTOMATIC

フィードバック

お役に立ちましたか?

はい いいえ
お役に立ちましたか
理由をお聞かせください
フィードバックありがとうございました

このトピックへフィードバック

送信