SQL Server Express (MSSQLE) の設定は SQL Server Management Studio Express (SSMSE) を使用して作成します。ローカルのサーバーにインストールして使用する場合は、共有メモリ接続により接続するため特に何も設定することなく初期状態で接続できます。
リモート接続をする場合の設定は、以下のページにメモをしています。
SQL Server 2008 Express にリモート接続
SSMSE で ローカルの MSSQL に接続する場合はWindows 認証を使えば手軽にできますが、ASP.NET のアプリケーションから Windows 認証で接続する場合は、ユーザーの登録とマッピングが必要になるので以下のページにメモをました。
ASP.NET で MSSQL に Windows 認証で接続
MDF ファイルのアタッチによるデータベースの作成につては、以下にメモをしています。
Express のユーザーインスタンスを利用した作成方法
以下では、ローカルのサーバーに SQL Server 2008 R2 Express がインストールされ、共有メモリ接続により接続する場合の例で説明しています。ローカルのサーバーへ接続する場合は、サーバー名の他に、(local)、localhost、. (ピリオド) も使用することができます。
1.「スタート」->「すべてのプログラム」->「Microsoft SQL Server 2008 R2」->「SQL Server Management Studio Express」の順にクリックして、SSMSE を起動します。8.「ユーザー マッピング」ページを選択します。先に作成したデータベース(umbraco)の「マップ」の列のボックスをチェックします。 次に、「umbraco のデータベース ロール メンバシップ」で、「db_owner」にチェックを追加します。入力が終わったら、「OK」 ボタンをクリックします。これで、ログインアカウント umbracouser が作成され、umbracouser は、データベースumbraco に関しては db_owner のメンバーとなるため、テーブルの作成、修正、読込、書込等すべての作業を実行できるようになります。
9.確認のため作成したログインアカウント(umbracouser)で接続します
9-1. 「ファイル」メニューをクリックし、「オブジェクト エクスプローラを切断」をクリックして、接続を切断します。10-1. ログインアカウント sa で接続できない場合
10-1-1. SQL Server 認証モードが使用可能になっているか確認するため、Windows 認証でサーバーに接続します。
10-1-2. サーバーを右クリックして、プロパティを選択します。
10-1-3. 「セキュリティ」ページを選択して、SQL Server 認証モードが使用可能になっているか確認します。
10-1-4. 次に、ログインアカウント sa が有効になっているかどうか確認します。「セキュリティ」フォルダを展開して、「ログイン」を展開すると「sa」があるので右クリックして、「プロパティ」を選択します。次に、「状態ページ」を選択して、「データベースエンジンに接続する権限」が「許可」になっているか、「ログイン」が「有効」になっているかどうか確認します。
10-1-5. 以上を確認しても原因がわからない場合は、エラーログの確認をします。「管理」フォルダーを展開し、「SQL Server ログ」フォルダーを右クリックし、「表示」をクリックし、「SQL Server ログ」を選択するとログが表示されます。以下のように、ログオンエラーの理由がわかるので、それにより対応します。
2009-05-25 23:45:55.36 ログオン エラー: 18456、重大度: 14、状態: 8。
2009-05-25 23:45:55.36 ログオン Login failed for user 'sa'. 理由: パスワードが、指定されたログインのパスワードと一致しませんでした。 [クライアント: <local machine>]
10-2. ログインアカウント sa では接続できるが、umbracouser で接続できない場合
エラーログで理由を確認して対応します。
.NET Framework Data Provider for SQL Server(providerName="System.Data.SqlClient")の場合の接続文字列は、以下のようになります。
Server=(local);Database=umbraco;User Id=umbracouser;Password=password;
(別の表記)
Data Source=.;Initial Catalog=umbraco;User Id=umbracouser;Password=password;
・名前付きインスタンス(インスタンス名:SQLEXPRESS)でSQL Server 認証の場合
Server=.\SQLEXPRESS;Database=umbraco;User Id=umbracouser;Password=password;
(別の表記)
Data Source=locahost\SQLEXPRESS;Initial Catalog=umbraco;User Id=umbracouser;Password=password;