- PR -

SQL Server 2005 Express でログインを作成するには

1
投稿者投稿内容
yem
常連さん
会議室デビュー日: 2008/01/05
投稿数: 37
投稿日時: 2008-02-11 16:18
お世話になっております。
SQL Server 2005 Express で勉強中です。

新規にSQL Server のログインを作成しようとしていますが、
以下の方法で作成しようとするのですが、できません。

Management Studio Expressを立ち上げて、
Windows認証でサーバーに接続し、

オブジェクトエクスプローラから、
[セキュリティ] - [ログイン]右クリック後、
コンテキストメニューから、[新しいログイン(N)]を選択。

[ログイン - 新規作成]ダイアログで、
ログイン名(N)に、例えば learner との文字を入力し、
SQL Server 認証をクリックして選択し、
 パスワード(P)とパスワードの確認入力(C)に同じパスワードを入力します。
パスワードポリシーを適用する(F)にチェックを入れ、
 パスワードの期限を適用するのチェックと
 ユーザーは次回ログイン時にパスワードを変更するのチェックを外します。

既定のデータベース(D)は、masterのままで、
既定の言語(A)も<規定>のままにして、[OK]ボタンをクリックします。

すると、learnerのログインが、
saなどの次に表示されます。

ここで、learnerのプロパティを見てみると、
パスワードが、当初入力した文字数と違った*印数で表示されています。

この、learnerでログインをしようと、
Windows認証の接続を残したまま、
オブジェクトエクスプローラの
 オブジェクト エクスプローラを接続アイコンをクリックします。

ここで、サーバーへの接続ダイアログが表示されますので、
SQL Server 認証を選択し、
 ログイン(L)に、learnerを入力し、
 上記で入力したパスワードを入力して[接続(C)]ボタンをクリックします。

すると、メッセージボックスに、
----\\SQLEXPRESSに接続できません。
 追加情報
ユーザーは'learnerはログインできませんでした。(Microsoft SQL Server、エラー:18456)
と表示されて、ログインできません。

何がいけないのでしょうか?

どうぞ、ご教授お願いたします。
OakBow
ベテラン
会議室デビュー日: 2007/09/15
投稿数: 51
投稿日時: 2008-02-11 19:12
SQL Server認証はデフォルトで無効化されているので、有効にする必要が
あります。Management Studio Express使ってないのでよく分かりませんが、
データベースを右クリックして出てくるプロパティあたりで設定を変更し、
必要であればサービスの再起動を行ってください。

>ここで、learnerのプロパティを見てみると、
>パスワードが、当初入力した文字数と違った*印数で表示されています。

そういう仕様です。文字数が分かってしまうとパスワードの情報を与えて
しまうことになるので。OSだってそうなってます。

アプリケーションによっては仕方のないこともありますが、できれば
Windows認証で接続することをおすすめします。
yem
常連さん
会議室デビュー日: 2008/01/05
投稿数: 37
投稿日時: 2008-02-11 21:48
お世話になります。

サーバーのプロパティでセキュリティを見ると、
サーバー認証が、SQL Server 認証モードとWindows 認証モード(S)
に設定されていますが、これをWindows認証に変更するということでしょうか?

SQL Server 認証は、インストール時にsaでパスワードを設定しています。

説明不足だったのかもしれませんが、
データベースにアクセスするためのデータベースユーザを作成するのが目的です。

新規に作成したユーザでSQL Server Expressに接続するのを手始めに、
データベースユーザに権限を与えることをやってみたいのです。

なにか、説明不足のせいか、誤解を招いているかもしれませんが、
どうぞ、よろしくお願いいたします。
OakBow
ベテラン
会議室デビュー日: 2007/09/15
投稿数: 51
投稿日時: 2008-02-12 01:32
>サーバー認証が、SQL Server 認証モードとWindows 認証モード(S)
>に設定されていますが、これをWindows認証に変更するということでしょうか?

いえ、違います。
すでにSQL Server 認証は有効になっているようですね。
一応saで接続できることを確認してください。

どの設定をやらないと接続そのものができないのかはよく分かってなかったりしますが、
データベースユーザーで接続するためには下の様な設定が必要だと思います。
権限とかなくても接続だけならできるのかなあ、もしかして。。

・新規作成時に、SQL Server認証を選択する。
・ユーザーマッピングあるいはサーバーロールで適切な権限を設定する。
 とりあえず接続を試す段階であればdb_ownereとかsysadmin(だっけか)あたりを
 選択しとくとsa並みの権限になります。
・「状態」でログインを有効にする。

説明に当たって下記サイトを参考にしました。
http://www.umbraco.org/documentation/books/install-umbraco-30-on-windows-xp/configure-sql-server-2005-express


>新規に作成したユーザでSQL Server Expressに接続するのを手始めに、
>データベースユーザに権限を与えることをやってみたいのです。

Windows認証で普通にできますよ。
SQL Server認証はあくまでIDとパスワード形式でしかデータベースへの接続手段を
持たないアプリケーション向けに用意されているものであって、機能的な優位点は
別にないと思うんですが。。
全く同じWindowsアカウントで動作するアプリケーションだけど、内部的に複数の
アカウントでDBに接続したいって場合は有効かなあ?
yem
常連さん
会議室デビュー日: 2008/01/05
投稿数: 37
投稿日時: 2008-02-12 22:42
OakBowさん、返信ありがとうございます。

質問にお答えしていただいて大変恐縮なのですが、
返信された内容について、落ち着いて理解しないことには、
理解できるかどうかの返事すらできない身の上です。
自分で言うのも情けないながら、返信は遅くなると思いますが
解釈に時間がかかると思いますので、何卒ご了解ください。

お答の内容を確認し、もう一度何が問題なのかを確かめてみます。

その上でなお理解できないところがあるかどうかを確かめて、
また、送信させてください。

恐縮です。
yem
常連さん
会議室デビュー日: 2008/01/05
投稿数: 37
投稿日時: 2008-02-12 23:31
お世話になります。

ご紹介いただいた、アドレス
>説明に当たって下記サイトを参考にしました。

http://www.umbraco.org/documentation/books/install-umbraco-30-on-windows-xp/configure-sql-server-2005-express

を拝見させていただきましたところ、
説明の通りの方法で、
Windows認証でもなく、SQL Server認証のsaでもなく、
ログインすることができました。

ただし、言われたとおりの操作をしただけの段階で、
なお不明な点は残ります。

前記のとおり、この後の理解のなかで、もう一度質問させていただく
ことになるかも知れませんので、そのときは
再び、よろしくお願いいたします。
OakBow
ベテラン
会議室デビュー日: 2007/09/15
投稿数: 51
投稿日時: 2008-02-12 23:47
まあ触りながら理解がついてくることもあるので、あれこれいじってみるのも
いいんじゃないでしょうか。
うまくいったようで何よりです。


ちなみに、特に指摘しませんでしたが
>説明不足だったのかもしれませんが、
>データベースにアクセスするためのデータベースユーザを作成するのが目的です。

「データベースユーザー」というそのままの名前の代物がSQL Serverにはありますが、
これはログインアカウントとは別物です。
「データベース」→「セキュリティ」→「ログイン」に列挙されているのがログイン
アカウントで、こちらのアカウントを使ってWebアプリやManagement Studio Express
からデータベースに接続します。
「データベース」→「貴方が作成したDB名」→「セキュリティ」にあるデータベース
ユーザーは権限管理のものであってログインのためのものじゃなかったり。

このあたりは混乱しがちな気もする(私もきちんと説明できるほど理解できてない
かも)ので、じっくりがんばってください。
1

スキルアップ/キャリアアップ(JOB@IT)