Microsoft SQL Server 2005 Express Edition はコンピュータ名を変えたらつながらなくなる時がある

wataru-w2008-01-10


えっと、


Windowsでコンピュータ名を変更すると、困るのが、ローカルに立てているSQL Serverです。
ODBCドライバにもコンピュータ名が入っていますが、なんか、動かない!!エラーになる!!というときは、
以下のポイントをチェックしてみてください。


まず、Dosプロンプトから


osql -E -S .\SQLEXPRESS


と入力しログインしてみましょう。
Visual Studio のExpress Editionと一緒にセットアップできるSQL Serverは勝手に(?)NT認証で
セットアップされていると思います。
上記コマンドでエラーがでるようでしたら、


osql -U sa -S .\SQLEXPRESS
といれて、そのあとパスワードを入れてログイン出来ないか?みてください。


で、ログインできたら、プロンプトで、


>sp_helpserver
を入れます。今のサーバー名が確認できます。


OLD_PC_Name\SQLEXPRESS


と古いコンピュータ名(OLD_PC_Name)になっていませんか?

 ちなみに、
 >SELECT @@SERVERNAME AS 'Server Name'
 >go
 で確認してもいいです。


古いコンピュータ名だったら、以下で、一度、サーバー名を消します。
>sp_dropserver 'OLD_PC_Name\SQLEXPRESS'
>go
シングルコーテーションで囲むのがポイント。


>sp_addserver 'NEW_PC_Name\SQLEXPRESS' , 'local'
>go
で新しいコンピュータ名(NEW_PC_Name)を追加します。これもシングルコーテーションで囲んでください。

一回 osqlを終わらせます。

>exit


サービスを再起動してから(コントロールパネルのサービスからでも可)


再度、
osql -E -S .\SQLEXPRESS
で起動後、


>SELECT @@SERVERNAME AS 'Server Name'
>go
でマシン名を確認してください。サービスを再起動しないと変更されません。
これが新しいコンピュータ名になっていれば、多分成功です。
おめでとうございます。


以上でふ。