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



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