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
を起動します。
2.SSMSE
が起動したら、「サーバーへの接続」のダイアログが表示されるので、サーバー名の項目に、「サーバー名」、「(local)」、「localhost」、「.」のいずれかを入力します。なお、名前付きインスタンスでインストールした場合は、サーバー名の後ろに\インスタンス名を追加します。例えば、インスタンス名を
SQLEXPRESSに設定した場合は、「サーバー名\SQLEXPRESS」となります。なお、共有メモリ接続では、サーバー名に IP
アドレスを使用することはできません。
「認証」については、SQL Server
の管理者に指定したユーザーでマシンにログインしているのであれば「Windows認証」のままで接続することもできるし、「SQL
Server
認証」を選択し、ログインには「sa」と入力し、パスワードはインストールの時に設定したパスワードを入力して接続することもできます。なお、sa
は、ビルトインのSQL Server のシステム管理者アカウントです。
3.「接続」ボタンをクリックして、サーバーに接続します。
4.データベースの接続したら、Umbraco
で使用するデータベースを作成します。「データベース」フォルダーを選択して右クリックして、「新しいデータベース」を選択します。
5.データベース名を入力して(ここでは「umbraco」とします)、「OK」ボタンをクリックします。
6.これでデータベースが作成できたので、ログインアカウントを作成します。「セキュリティ」フォルダーを右クリックして、「新規作成」をクリックして、「ログイン」を選択します。
7.「全般」ページを選択します。
「ログイン名」を入力します(ここでは、umbracouser を使用します)。 SQL Server
認証を選択して、「パスワード」を入力し、「パスワードの確認入力」も入力します。
8.「ユーザー
マッピング」ページを選択します。先に作成したデータベース(umbraco)の「マップ」の列のボックスをチェックします。
次に、「umbraco のデータベース ロール
メンバシップ」で、「db_owner」にチェックを追加します。入力が終わったら、「OK」
ボタンをクリックします。これで、ログインアカウント umbracouser が作成され、umbracouser
は、データベースumbraco に関しては db_owner
のメンバーとなるため、テーブルの作成、修正、読込、書込等すべての作業を実行できるようになります。

9.確認のため作成したログインアカウント(umbracouser)で接続します
9-1. 「ファイル」メニューをクリックし、「オブジェクト エクスプローラを切断」をクリックして、接続を切断します。
9-2. 「ファイル」メニューをクリックし、「オブジェクト エクスプローラを接続」をクリックします。
9-3. 下の図のように「サーバーへの接続」ダイアログが表示されます。「認証」は「SQL Server
認証」を選択し、「ログイン」は作成したログインアカウント(umbracouser)を入力し、「パスワード」は先に設定したパスワードを入力します。

9-4. 「接続」ボタンをクリックして、接続できれば SQL Server の設定は完了です。
10.接続できない場合の対応
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")の場合の接続文字列は、以下のようになります。
・既定のインスタンスでSQL Server 認証の場合
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;