MS SQL Server 2008 で Windows認証 を利用する
ここではMS SQL Server 2008(以下 SQL Server 2008)で、Windows認証を利用してデータベースにアクセスする方法を解説します。
- SQL Server 2008 インストール時の注意事項
- SQL Server 2008 データベースの作成
- mta DB の IUSER へのユーザーマッピング
- データベースへの接続テスト
- mt-wizard.cgi でのデータベース設定
SQL Server 2008 インストール時の注意事項
マイクロソフト、および自社の IT 管理部門などが提供する手続きに則って、データベースをセットアップしてください。 Movable Type Advanced(以下 MTA)は、インストール時に自動で必要なDBテーブルなどを作成します。
MTA のインストールを開始する前に、データベースに関する以下の情報を確認してください。
- データベース名
- データベース・ユーザー名
- パスワード
- DB サーバのホスト名 (localhost, サーバ名, あるいはサーバの IP アドレス)
- SQL サーバの文字コード (UTF-8 あるいは Shift_JIS) [*1]
- ポート番号 (標準では 1433)
SQL サーバの文字コードは UTF-8 をサポートするようになりましたが。以下の問題が確認されています。
- PHP が対応していないため、ダイナミックパブリッシングを行う場合はShift_JISで作成する必要があります。
- Shift_JISでのデータベース設定は [mt-wizard.cgi] が出力する設定を参考にして下さい。
SQL Server 2008 が Windows認証 (Windows integrated authentication) を利用するように設定されている場合 (推奨)、データベースへアクセスするためのユーザー名と、パスワードは必要ありません。SQL Server 2008 において、Windows認証とSQL Server認証の統合認証(Mixed Authentication mode) を用いた認証が行われている場合 DBUser, DBpassword の設定が必要となります。ここではWindows認証を利用する事を前提とした解説を行います。
また、以下の CPAN モジュールのインストールが必要です。
- DBI (バージョン1.21以上)
- DBD::ODBC
SQL Server 2008 データベースの作成
MS SQL Server 2008 をインストールすると、GUIのセットアップツール"Microsoft SQL Server 2008 Management Studio"(以下 Management Studio)もインストールされます。
以下、作成方法の例となります。
- Management Studio を起動します
- Management Studio が起動したので [Windows認証] で接続します。
- [データベース] を右クリックし、[新しいデータベース] を選択します
- [新しいデータベース] 画面の [全般] を修正します
- データベース名: mta
- 所有者: <規定>
- [新しいデータベース] 画面の [オプション] を修正します
- 照合順序: Japanese_Unicode_CI_AS(UTF-8、大文字・小文字を区別しない、アクセント文字を区別する)
- 復旧モデル: 完全
- 互換性レベル: SQL Server 2008 (100)
- [OK] ボタンをクリックします
mta DB の IUSER へのユーザーマッピング
- [セキュリティ] > [ログイン] > [新しいログイン] を選択
- [ログイン] > [全般] を修正
- [ログイン名] の[検索] ボタンをクリック
- [選択するオブジェクト名を入力してください] に "IUSR" を入力し [名前の確認]ボタンをクリックします
- [ログイン - 新規作成] 画面に戻り、[ログイン名] に "IUSR"が入っている事を確認します
- [ログイン名] の[検索] ボタンをクリック
- [ログイン] > [ユーザーマッピング] を修正
- [データベース] "mta" の [マップ] をチェック
- [mtaのデータベース ロール メンバシップ] に "db_owner" を追加
- [OK] ボタンをクリックします
データベースへの接続テスト
Management Studioを使ってデータベースへ接続できるか確認します。
- Management Studio のデータベース接続画面
[認証] 方式が [Windows 認証]になっている事を確認して下さい。
- [接続] ボタンをクリックしてください。
接続が完了したら、システムレベルでデータベースへの接続が出来たことが解ります。
mt-wizard.cgi でのデータベース設定
データベース設定画面では以下の様に入力します。
mt-config.cgiのデータベース設定
#======== DATABASE SETTINGS ======== ObjectDriver UMSSQLServer Database mta DBHost localhost ODBCDriver SQL Server Native Client 10.0
これで、Windows認証で接続が可能になりました。