MSDE2000のsaパスワードと認証モードを変更するメモ。

| | コメント(0)

先日、職場でMSDE2000(SQL Server2005ExpressEditionとほぼ同等?)のインストールをした後、DB作成やSQLを実行した際に、

「ユーザー 'sa' のログインに失敗しました。理由 : SQL Server の信頼関係接続に関連付けられていません。」

というエラーが出たため、対処したときのメモです。

そもそもこのエラーは、Windowsネットワークがワークグループで構成されており、さらにWindows認証モードでSQLサーバが実行している状態で出てしまったわけです。。。

じゃぁSQLの動いているWindowsマシン上に、saっていうユーザアカウントを作って、それで認証すればいいんでないの?ってことで、やってみたんですが、うまくいきませーん。

Windowsってやっぱり苦手だ〜〜〜(泪

ということで、MSサポートのKB322336によると、SQLサーバの設定で以下の様な認証モードがあるようです。

1…Windows統合認証モード(Windowsに頼るので安全らしい)

2…Windowsのほか、SQLサーバ自身でアカウントを管理する方法(セキュリティ的には少し甘くなる)


ということで、現在1のものを2に切り替えます。。
以下手順。

統合 (Windows) 認証から混合モードからに切り替えるには、以下の手順を実行します。
1. MSSQLSERVER および他の関連するすべてのサービス (SQLSERVERAgent など) を停止します。これを行うには、コントロール パネルの [管理ツール] にある [サービス] を開きます。
2. レジストリ エディタを起動します。レジストリ エディタを起動するには、[スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックし、regedt32 と入力します。

[OK] をクリックします。
3. 以下のサブキーのいずれかを検索します (MSDE を MSDE の既定のインスタンスとしてインストールしたか、または名前付きインスタンスとしてインストールしたかによって異なります)。
HKEY_LOCAL_MACHINE\Software\Microsoft\MSSqlserver\MSSqlServer
または
HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\\MSSQLServer\
4. 右ウィンドウで、LoginMode サブキーをダブルクリックします。
5. [DWORD エディタ] ダイアログ ボックスで、このサブキーの値を 2 に設定します。[16 進数] が選択されていることを確認して、[OK] をクリックします。
6. この変更を有効にするために、MSSQLSERVER サービスおよび SQLSERVERAgent サービスを再開します。


念のため、MSDEのsaパスワードはきちんと設定しておきます。
以下、コマンドプロンプトより実行します。

osql -E

1> sp_password @old = null, @new = 'newpassword', @loginame ='sa'

2> go
パスワードは変更されました。


余談ですが、FreeBSDやLinuxでよく動かすPostgreSQLはpsqlコマンドだったりするので、
雰囲気は似てますが、使い勝手はMS仕様です。。。
osqlって初めて使った…。


こんな感じで、MSDEを使ったDBの作成が無難に行えるようになったわけでした。

コメントする

IPv4 Exhaustion Counter

Amazon

おすすめPC周辺機器
Powered by Movable Type 4.29

このブログ記事について

このページは、kentiが2007年8月12日 18:38に書いたブログ記事です。

ひとつ前のブログ記事は「予言が的中した日。」です。

次のブログ記事は「もぅ。」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。