• 締切済み

MS SQL2005での接続エラー

MS SQL Server2005 Enterprise Editionを使用しているのですが、突如接続エラーが出てしまうようになりました。 メッセージは、"Cannot connect to XXX(サーバー名)"で、メッセージの最後には、(Microsoft SQL Server, Error:2)と出ています。 管理者権限で行っていますし、そもそも今までと設定などを全く変えていないので、原因がよくわかりません。 ちなみにOSはWindows XP SP2です。 教えていただけると助かります。

みんなの回答

回答No.7

master DBはサーバレベルの情報を持っています。 他のDBからmasterファイルを持ってきて起動させるのは問題有りません。 上書きだと心配だと思いますので、以下の要領でバックアップを取って下さい。 現状インスタンスが立ち上がっていないと推測できるので、 現状のmdf,ldfファイルを物理的にバックアップ(ファイルのコピー)を取って下さい。 ※前回の書き込みの手順です。 とはいえ以下のエラーが出ているので、恐らくSQLServerのDBの異常によるものではないかと思います。 「Service Principal Name」エラーと出ています。なのでDBレベルではなくインスタンスレベルの問題だと推測できます。なのでmasterDBの対応を行なったとしても解決にはならないと考えられます。 よってまずはエラーの出ている箇所を率直に受け取りSPN部分の障害を取り除けばよいかと考えられます。 「The SQL Network Interface library could not deregister the Service Principal Name (SPN) for the SQL Server service. Error: 0x54b. Administrator should deregister this SPN manually to avoid client authentication errors.」 ※本番環境であれば気軽に?アプリケーションの追加は宜しくありません。今回の問題は恐らく後からインストールしたアプリケーションが悪さをしてしまったためかな?と考えられます。 (サーバの重要度がどれ位なのか分からないので一概には言えないのかも知れませんが・・・) 本来であれば検証環境で同等の確認後に本番に適用できたらよかったですね。

LIVERTY777
質問者

補足

ありがとうございます。 おっしゃる通りの手順で試してみます。 あとから追加したアプリケーションはアドビのCreative Suiteなのですが、これをSQLをインストールしたときとは別のユーザでログオンしてインストールしたのが悪かったのかもしれません。

回答No.6

他の掲示板のリンクで申し訳ないのですが、 以下の内容が参考になりませんか? リンク先のページで紹介されているツールはXPにも対応してあるようなのでLIVERTY777さんの環境でも利用可能かと思います。 Windows XPでの利用ということから恐らく開発環境であろうと思いますので、根本的な解決方法ではないのですが、 以下の対応では如何ですか? ・.mdf,.ldf,ndf(あれば)をバックアップ ・SQLServerの再インストール  ※そもそも再インストール不可の環境になっている可能性があります。 ・バックアップしたユーザdbのアタッチ ユーザDBが破損していなければ復帰できると思います。 必要に応じてmsdb,modelも戻して上げれれば良いかなと思います。 (インスタンスを止めて、バックアップしたファイルで入替えて上げればOKです。) ・最後に念のため「dbcc CHECKDB」を実行してエラーが無ければOKかなと思います。

参考URL:
http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=1791938&SiteID=7
LIVERTY777
質問者

お礼

ありがとうございます。 参考URL、同じエラーメッセージですので、参考にさせていただきます。 XPといえど、実は本番環境でして。。。 SQLの再インストールは、インスタンスがうまく消えないので結構苦労した経験がありまして、できるだけ避けたく思っています。 もちろん最終的な選択肢としては再インストールになりますが、もうちょっといろいろ頑張ってみます。

  • t4t
  • ベストアンサー率55% (47/84)
回答No.5

SQL Server が起動されていないとのことですので、 イベントビューワのアプリケーションログや、 SQLServerをインストールしたディレクトリの下にあるどれかのMSSQL\LOGディレクトリ内にあるログで、起動されていない理由を確認してください。 #4さんのご指摘のようにmasterが破損しているのかもしれませんね。

LIVERTY777
質問者

お礼

ありがとうございます。 お礼をつけさせていただくのを失礼ながら忘れていましたので、今付けます。 masterを障害の発生しているSQLに、通常通り動いているSQLから持って行く場合、上書きコピー的になると思うのですが、この二つの環境はネットワークもログオンユーザもインスタンスも異なっています。それでもMasterを上書きしても問題ないでしょうか。 かさねがさねで申し訳ありません。

LIVERTY777
質問者

補足

みなさま、いろいろ本当にありがとうございます。 ログを見たところ、最後に The SQL Network Interface library could not deregister the Service Principal Name (SPN) for the SQL Server service. Error: 0x54b. Administrator should deregister this SPN manually to avoid client authentication errors. とありました。 これは何か関係あるのでしょうか。

回答No.4

失礼しましたる SQLServer自体が起動されなくなったのですね。 恐らくmasuterDB辺りが破損しているのではないでしょうか? 起動されていないと考えると、 別のSQLServerからmasterDBをコピーしてきて、 現在起動させたいSQLServerインスタンスのマスターの箇所に置き起動を試みてください。 起動後つなげたいユーザーDBを接続させてみてください。 masterDBのバックアップがあればインスタンス起動後にmasterDBをリストアしても良いかなと思います。 ※つながらないのと起動していないでは対応が全く違うのでそこらへんの調査は最初に出来ると良いですね!

回答No.3

いきなり変わることは無いはずですが、 ・ポート番号が変わったとかって事は無いですよね? ・インスタンス名の設定がされていない。  (追加で別インスタンスをインストールした) 以上の2点は大丈夫ですか?

LIVERTY777
質問者

補足

ポート番号やインスタンスに関して設定変更はしていませんが、 あえて言えばアドビのCreative Suite 3 をインストールした位です。 ただ、SQLはCドライブに、アドビはDドライブに入れています。

回答No.2

SQLServer の動いているマシンのOSがOSはWindows XP で別のクライアントマシンから接続をしようとしてエラーになったという認識で宜しいでしょうか? その場合ですとOS同士の認証が切れている可能性があります。 一度クライアントマシンからサーバOSに対してOS同士で認証を取ってください。 その後クライアントからSQLServerに接続してみて下さい。

LIVERTY777
質問者

補足

いえ、他のマシンからの接続のエラーではなくて、SQLをインストールしているマシン自体でManagement Studio を起動しようとすると、接続エラーになってしまうのです。 すいませんが、よろしくお願いいたします。

  • t4t
  • ベストアンサー率55% (47/84)
回答No.1

念のため、SQL Serverそのものは起動されているか確認してください。 あと、環境を確認したいのですが、 WindowsXPsp2にEnterpriseEditionのサーバーエンジンを入れ、 同じマシンにManagementStudioが入っていて、 そのManagementStudioで接続しようとすると、当該エラーメッセージが表示されるということでしょうか。 それとも別のサーバにEnterpriseEditionのサーバーエンジンが入っていて、 クライアントがWindowsXPsp2だということでしょうか。

LIVERTY777
質問者

補足

WindowsXPsp2にEnterpriseEditionのサーバーエンジンを入れ、 同じマシンにManagementStudioが入っていて、 そのManagementStudioで接続しようとすると、当該エラーメッセージが表示されるということでしょうか。 ⇒はい、その通りです。 ワークグループで使用していますが、他のマシンからの接続以前に、SQLがインストールされているマシン自体でSQLが起動されなくなってしまっているのです。 すいません。。

関連するQ&A