7.3.2 Microsoft SQL Serverの環境設定
(1) 照合順序の設定
Microsoft SQL Serverのインストール時に設定するリレーショナルデータベースのサーバの照合順序(並べ替え順序)は「バイナリ」を選択してください。
照合順序(並べ替え順序)に「バイナリ」および「大文字と小文字を区別する」を選択しない場合,[あて先]ウィンドウの[検索]ダイアログボックスで,「大文字と小文字を区別する」を選択しても有効になりません。
また,インベントリビューアの集計機能やCSV出力ユティリティの出力範囲の設定機能でも,大文字と小文字を区別しなくなります。
なお,JP1/NETM/DMのデータベースを作成した後,データベースの照合順序は変更しないでください。
データベースの照合順序を変更して,リレーショナルデータベースのサーバとの照合順序に相違が生じると動作が保証されません。
(2) ネットワークプロトコルの設定
リレーショナルデータベースを使用するには,リレーショナルデータベースのサーバおよびクライアントの両方で,ネットワークプロトコルの設定が必要です。リレーショナルデータベースのプログラムごとの設定を次に示します。
- リレーショナルデータベースのサーバでの設定
リレーショナルデータベースのサーバでは,配布管理システムやリモートインストールマネージャに接続できるプロトコルを選択してください。通常は,「TCP/IPソケット」または「名前付きパイプ」を使用します。
- リレーショナルデータベースのクライアントでの設定
リレーショナルデータベースのクライアントでは,サーバで選択したプロトコルと同じプロトコルを設定してください。
ネットワークプロトコルの設定方法の詳細については,Microsoft SQL Serverのマニュアルを参照してください。
ここで設定したプロトコルおよびサーバの名称は,リレーショナルデータベースの作成時に必要になりますので,控えておいてください。
(3) データベース環境のチューニング
Microsoft SQL Server 2012,Microsoft SQL Server 2008,Microsoft SQL Server 2005,Microsoft SQL Server 2000,およびMicrosoft SQL Server 7.0には動作環境を自動的にチューニングする機能があるため,設定は不要です。必要に応じてデータベースのサーバの設定を変更することもできます。
ロック数の設定を変更したい場合は,Transact-SQLを使用します。また,ユーザ接続数およびメモリの設定を変更したい場合は,[SQL Serverのプロパティ]ダイアログボックスの[接続]パネルおよび[メモリ]パネルから実行できます。メモリについては固定サイズを割り当てることもできます。
(4) メモリ割り当ての設定
JP1/NETM/DMを使用して効率良くリモートインストールするには,Microsoft SQL Serverへのメモリ割り当ての設定が重要になります。Microsoft SQL Serverでのメモリ概算式を次に示します。
(a) データキャッシュ
データキャッシュは,各テーブルのインデックスページおよびデータページから構成されます。次のメモリ概算式は,頻繁にアクセスするテーブルのインデックスページおよびデータページのサイズを示します。頻繁にアクセスするテーブルについて,インデックスページは100%,データページは20%をメモリに割り当てられる量が設定の目安です。メモリに余裕があれば,データページについても100%割り当てられる量を設定してください。パッケージ数とは,配布済みパッケージおよび配布予定のパッケージを加算した数です。
- インデックスページ
- クライアント管理台数×パッケージ数×0.0005(メガバイト)
- データページ
- クライアント管理台数×パッケージ数×0.0045(メガバイト)
(b) プロシージャキャッシュ
プロシージャキャッシュは,Microsoft SQL Serverの実行プランなどから構成されます。JP1/NETM/DMを使用する場合には,プロシージャキャッシュへの割り当てが,5メガバイト程度となるように設定してください。
(5) 環境設定オプションのチューニング
Microsoft SQL Server 2012,Microsoft SQL Server 2008,Microsoft SQL Server 2005,Microsoft SQL Server 2000,およびMicrosoft SQL Server 7.0では,性能を最適化してメモリサイズを動的に調整するため,システム管理者がメモリサイズを意識する必要はありません。しかし,自動拡張または縮小によるオーバヘッドも考慮し,最大および最小値を設定することをお勧めします。
- 最小値
- 16メガバイト以上
- 最大値
- 搭載メモリ-(OSの使用するメモリ容量+JP1/NETM/DMのメモリ所要量※+ほかのアプリケーションの使用するメモリ容量+5メガバイト)
- 注※ マニュアル「導入・設計ガイド」の「5.3.2 メモリ所要量」を参照してください。
(6) 認証モードの設定
認証モードには「混合モード」を選択してください。[SQL Serverのプロパティ]ダイアログボックスの[セキュリティ]パネルの「セキュリティ」で設定してください。
(7) リレーショナルデータベースのアクセス権の設定
JP1/NETM/DM ManagerでアクセスするIDを,Microsoft SQL Serverシステム管理者以外のIDに設定する場合は,リレーショナルデータベースの各テーブルにアクセス権を設定する必要があります。必要なアクセス権は,SELECT,INSERT,UPDATE,およびDELETEです。アクセス権の設定方法を次に示します。
- Microsoft SQL Server 2012,Microsoft SQL Server 2008およびMicrosoft SQL Server 2005の場合
- <IDを新規作成する場合>
- [Microsoft SQL Server Management Studio]のオブジェクトエクスプローラにて,[データベース名]-[セキュリティ]-[ログイン]を選択する。
右クリックで[新しいログイン]を選択します。
- [ログイン-新規作成]ダイアログボックスにて,ログイン名と認証方法を設定する。
ダイアログボックスの左部の[ページの選択]から,[全般]を選択し,ログイン名と認証方法を設定します。
認証方法で,[SQL Server 認証]を選択した場合は,[パスワード]と[パスワードの確認入力]の設定も行います。[ユーザは次回ログイン時にパスワードを変更する]を設定する場合は,手順5でパスワードの変更を行ってください。
- [ログイン-新規作成]ダイアログボックスにて,ユーザマッピングとデータベースロールメンバシップを設定する。
ダイアログボックスの左部の[ページの選択]から,[ユーザマッピング]を選択します。
[このログインにマップされたユーザ]では,作成したデータベース名のチェックボックスを設定してください。[データベースロールメンバシップ]では,以下の項目のチェックボックスを設定してください。
・db_datareader
・db_datawriter
・db_ddladmin
- [ログイン-新規作成]ダイアログボックスにて,[OK]ボタンをクリックする。
- 作成したIDでログインする。
手順2で[ユーザは次回ログイン時にパスワードを変更する]を設定した場合は,[パスワードの変更]ダイアログが表示されますので,パスワードの変更を行ってください。
- <既存IDを使用する場合>
- [Microsoft SQL Server Management Studio]のオブジェクトエクスプローにて,[データベース名]-[セキュリティ]-[ログイン]を選択する。
アクセス権を設定するIDを選択し,右クリックで[プロパティ]を選択します。
- [ログインのプロパティ-(編集中のID名)]ダイアログボックスにて,ユーザマッピングとデータベースロールメンバシップを設定する。
ダイアログボックスの左部の[ページの選択]から,[ユーザマッピング]を選択します。
[このログインにマップされたユーザ]では,作成したデータベース名の
チェックボックスを設定してください。
[データベースロールメンバシップ]では,以下の項目のチェックボックスを設定してください。
・db_datareader
・db_datawriter
・db_ddladmin
- [ログインのプロパティ-(編集中のID名)]ダイアログボックスにて,[OK]ボタンをクリックします。
- Microsoft SQL Server 2000およびMicrosoft SQL Server 7.0の場合
- <IDを新規作成する場合>
- [SQL Server Enterprize Manager]にて,[データベース名]-[セキュリティ]-[ログイン]を選択する。
右クリックで[新規ログイン]を選択します。
- [SQL Serverログインのプロパティ-新規ログイン]ダイアログボックスにて,名前と認証方法を設定する。
ダイアログボックスの[全般]タブを選択し,名前と認証方法を設定します。
認証方法で,[SQL Server 認証]を選択した場合は,[パスワード]の設定も行います。
- [SQL Serverログインのプロパティ-新規ログイン]ダイアログボックスにて,データベースアクセスとデータベースロールを設定する。
ダイアログボックスの[データベースアクセス]タブを選択します。
[データベースアクセス]では,作成したデータベース名のチェックボックスを設定してください。[データベースロール]では,以下の項目のチェックボックスを設定してください。
・db_datareader
・db_datawriter
・db_ddladmin
- [SQL Serverログインのプロパティ-新規ログイン]ダイアログボックスにて,[OK]ボタンをクリックする。
[パスワード]の設定を行った場合,[パスワードの確認]ダイアログが表示されますので,設定したパスワードを再度入力してください。
- <既存IDを使用する場合>
- [SQL Server Enterprize Manager]にて,[データベース名]-[セキュリティ]-[ログイン]を選択する。
アクセス権を設定するIDを選択し,右クリックで[プロパティ]を選択します。
- [SQL Serverログインのプロパティ-(編集中のID名)]ダイアログボックスにて,データベースアクセスとデータベースロールを設定する。
ダイアログボックスの[データベースアクセス]タブを選択します。
[データベースアクセス]では,作成したデータベースのチェックボックスを設定してください。
[データベースロール]では,以下の項目のチェックボックスを設定してください。
・db_datareader
・db_datawriter
・db_ddladmin
- [SQL Serverログインのプロパティ-(編集中のID名)]ダイアログボックスにて,[OK]ボタンをクリックします。
(8) トランザクションログの設定
Microsoft SQL Serverでは,リレーショナルデータベースの更新についてアクセスの履歴をトランザクションログに採取しています。JP1/NETM/DM Managerではリレーショナルデータベースの作成時にトランザクションログを割り当てていますが,履歴情報が満杯になると,以降リレーショナルデータベースへのアクセスができなくなります。
また,自動拡張機能を設定する事で,トランザクションログが最大2TBまで増大し,ディスクを圧迫する事で,レスポンスの低下に繋がることがあります。
トランザクションログは,自動的に切り捨てる運用をお勧めします。
- Microsoft SQL Server 2012,Microsoft SQL Server 2008およびMicrosoft SQL Server 2005の場合
- Management Studioを起動する。
- 該当データベースを選択し,[データベースのプロパティ]ダイアログボックスを開く。
- 「オプション」メニューを選択する。
- ダイアログボックスの右側の「復旧モデル」から,「単純」を選択する。
- Microsoft SQL Server 2000の場合
- Enterprise Managerを起動する。
- 該当データベースを選択し,[プロパティ]ダイアログボックスを開く。
- [オプション]パネルの[モデル]から「シンプル」を選択する。
- Microsoft SQL Server 7.0の場合
- [SQL Enterprise Manager]ウィンドウで該当データベースを右クリックして[プロパティ]メニューを選択する。
- [XXXXXプロパティ]ダイアログボックス(XXXXXはデータベース名)の[オプション]パネルで「チェックポイント時のログ切り捨て」をチェックする。
自動切り捨てを設定していない場合に,トランザクションログが満杯になったときは,JP1/NETM/DM Managerでは「セグメントにオブジェクトの領域を割り当てられない」という内容のメッセージがRDBSRV.LOGに出力されます。この場合,次の方法でトランザクションログを切り捨ててください。
- Microsoft SQL Server 2012,Microsoft SQL Server 2008およびMicrosoft SQL Server 2005の場合
- Management Studioでデータベースを右クリックして表示されるメニューから,[タスク]-[バックアップ]を選択し,[データベースのバックアップ]ダイアログボックスを表示します。[データベースのバックアップ]ダイアログボックスの[全般]タブから,トランザクションログのバックアップを取得してください。取得したバックアップ分のトランザクションログが切り捨てられます。
- Microsoft SQL Server 2000の場合
- Enterprise Managerの[データベースのバックアップ]メニューからトランザクションログのバックアップを取得してください。取得したバックアップ分のトランザクションログが切り捨てられます。
- Microsoft SQL Server 7.0の場合
- Enterprise Managerの[ログの切り捨て]メニューからトランザクションログを切り捨ててください。またはクエリアナライザでDUMPステートメント(DUMP TRANSACTION データベース名 WITH NO_LOG)を記述してトランザクションログを削除してください。