MS SQL Server 2008 で SQL Server認証 を利用する
ここではMS SQL Server 2008(以下 SQL Server 2008)で、SQL Server 認証を利用してデータベースにアクセスする方法を解説します。
- SQL Server 2008 インストール時の注意事項
- SQL Server 2008 認証方式の変更
- SQL Server 2008 データベースの作成
- 新規ユーザーの作成
- データベースへの接続テスト
- 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 が Windows認証 (Windows integrated authentication) を利用するように設定されている場合 (推奨)、データベースへアクセスするためのユーザー名と、パスワードは必要ありません。SQL Server において、Windows認証とSQL Server認証の統合認証(Mixed Authentication mode) を用いた認証が行われている場合 DBUser, DBpassword の設定が必要となります。ここではSQL Server認証(ID, PASSWORD 有り)を利用する事を前提とした解説を行います。
また、以下の CPAN モジュールのインストールが必要です。
- DBI (バージョン1.21以上)
- DBD::ODBC
SQL Server 2008 認証方式の変更
SQL Server 2008 をインストールすると、GUIのセットアップツール"Microsoft SQL Server 2008 Management Studio"(以下 Management Studio)もインストールされます。
以下、変更方法の例となります。
- Management Studio を起動します
- Microsoft SQL Server Management Studio が起動したので [Windows認証] で接続します。
- サーバーのプロパティを選択します
- [サーバーのプロパティ] が表示されました
- [サーバーのプロパティ] > [セキュリティ] を選択します
- [サーバー認証] : [Windows 認証モード] から [SQL Server 認証モードと Windows 認証モード]に変更
- [OK]ボタンをクリック
SQL Server 2008 データベースの作成
- [データベース] を右クリックし、[新しいデータベース] を選択します
- [新しいデータベース] 画面の [全般] を修正します
- データベース名: mta
- 所有者: <規定>
- [新しいデータベース] 画面の [オプション] を修正します
- 照合順序: Japanese_Unicode_CI_AS(UTF-8、大文字・小文字を区別しない、アクセント文字を区別する)
- 復旧モデル: 完全
- 互換性レベル: SQL Server 2008 (100)
- [OK] ボタンをクリックします
新規ユーザーの作成
- [セキュリティ] > [ログイン] > [新しいログイン] を選択
新規ログインを作成します
- 認証方式を[Windows 認証] から [SQL Server 認証] に変更
- [ログイン名] を"Melody"に、[パスワード] と [パスワードの確認入力] に"Nelson"を入力
- [パスワードポリシーを適用する] からチェックボックスを外す
- [ユーザーマッピング]で、Melodyにデータベースのdb_owner権限を付与
- [OK] ボタンをクリックする
データベースへの接続テスト
Management Studioを使ってデータベースへ接続できるか確認します。
- Management Studio のデータベース接続画面
[認証] 方式が [SQL Server 認証]になっている事を確認して下さい。
- 認証 : SQL Server 認証
- ログイン : Melody
- パスワード : Nelson
- [接続] ボタンをクリックしてください。
接続が完了したら、システムレベルでデータベースへの接続が出来たことが解ります。
セキュリティのログインにデフォルトユーザー [sa] と、今回作成した [Melody] アカウントだけが居る事が確認できました。
mt-wizard.cgi でのデータベース設定
データベース設定画面では以下の様に入力します。
mt-config.cgiのデータベース設定
#======== DATABASE SETTINGS ======== ObjectDriver UMSSQLServer Database mta DBHost localhost ODBCDriver SQL Server Native Client 10.0 DBUser Melody DBpassword Nelson
これで、SQLSever認証にて接続が可能になりました。