DOBON.NET DOBON.NETプログラミング掲示板過去ログ

SQL Server 2008 R2でいままで使っていたアプリが急につながらなくなりました

環境/言語:[Windows 7/Vista MS2010 C# Winアプリ]
分類:[.NET]

いつもお世話になります。

データベースで教えてください。
SQL Server 2008 R2でいままで使っていたアプリが急につながらなくなりました。

接続文字は、以下の通りです。
connectionString="Data Source=sakae01;Initial Catalog=Kensa;Integrated Security=True"

サーバは、「Windows Server 2008 R2 Standard」です。

確認できたこと。
1.ping + IPは、OK
2.SQL Manegement Studio でサーバ上のDBにアクセスできます。
3.コマンドレベルで、sqlcmd -S sakae01 -U sa -P 12345 と sqlcmd -S localhost -Eのいずれも下記の操作OKでした。
1>use kensa
2>select * from usertable
3>go
で内容を表示しました。
しかし実際のアプリは、起動しません。

クライアントが、複数台あり、起動しないのはそのうち2台のみです。あとはOK
(VistaとWin8、Win7の各台はOKのようです)

メッセージは、表示したり、「動作を停止しました」のみだったりです。
メッセージの内容は、「SQL Serverへの接続を確立しているときにネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないか・・・以下略。error 40 - SQL Serverへの接続を開けませんでした」
■No32182に返信(hiroさんの記事)
> いままで使っていたアプリが急につながらなくなりました。
>
新たにクライアントを増やしてそれが繋がらないのでしょうか。
それとも同クライアントにおいて、○日までは使えており、△日以降使えなくなったというものでしょうか。(例、WindowsUpdate以降等?)

> 接続文字は、以下の通りです。
> connectionString="Data Source=sakae01;Initial Catalog=Kensa;Integrated Security=True"
>
Windows認証を使用しているようですが、そのあたりは大丈夫ですか?
問題切り分けとして、試しに接続文字列をユーザー、パスワード形式にして実験してみるとかどうですか?

> 確認できたこと。
>
これは繋がらないとおっしゃっているクライアント側で実験したのでしょうか?
実験は、サーバー機、接続できないクライアント機の両方でやらないと意味がないです。
他のマシンが繋がるのならサーバー機でやる必要はないのかもですが一応。

> クライアントが、複数台あり、起動しないのはそのうち2台のみです。あとはOK
> (VistaとWin8、Win7の各台はOKのようです)
>
何台かは繋がっているのでFirewall系の問題ではないと思うけど一応関連しそうなので調べてみるのも。
a様、お世話になります。


> 新たにクライアントを増やしてそれが繋がらないのでしょうか。
試していません。と言うか、すぐに増やすパソコンがないため、無理かも。

> それとも同クライアントにおいて、○日までは使えており、△日以降使えなくなったというものでしょうか。(例、WindowsUpdate以降等?)
はい、アプリを一部更新してコピーした後、動かなくなりました。

>
>>接続文字は、以下の通りです。
>>connectionString="Data Source=sakae01;Initial Catalog=Kensa;Integrated Security=True"
>>
> Windows認証を使用しているようですが、そのあたりは大丈夫ですか?
はい、その形で使っています。

> 問題切り分けとして、試しに接続文字列をユーザー、パスワード形式にして実験してみるとかどうですか?
一応、User ID = sa; Password=xxxx;でやってみましたが、変わりませんでした。

>
>>確認できたこと。
>>
> これは繋がらないとおっしゃっているクライアント側で実験したのでしょうか?
その通りです。動作できなくなったパソコンで確認してみました。

アプリコピー後なので、他の設定ファイル関連のエラーとも考え、動作するパソコンからフォルダーの中身を全部コピー(上書きでなく、消去後にコピー)してみましたが、状況変わらず。


> 何台かは繋がっているのでFirewall系の問題ではないと思うけど一応関連しそうなので調べてみるのも。
サーバのファイアーウォールは、確実にオフにして調べたわけではありませんが、駄目なパソコンからsqlcmdが使えたのでOKと思ってました。


と、こんなところです。あと調べるところって何かありますか?
■No32184に返信(hiroさんの記事)
>>新たにクライアントを増やしてそれが繋がらないのでしょうか。
> 試していません。と言うか、すぐに増やすパソコンがないため、無理かも。
>
これはどういう状態で発生したのか知りたかったのです。
(例、7⇒10台にクライアント機を増やした時、内2台で動かないものがあったとか)

>>それとも同クライアントにおいて、○日までは使えており、△日以降使えなくなったというものでしょうか。(例、WindowsUpdate以降等?)
> はい、アプリを一部更新してコピーした後、動かなくなりました。
>
旧バージョンに戻せますか?
もし、旧バージョンに戻して接続できるようなら、新旧のコードをコンペアして問題になりそうな部分をピックアップするしかないと思います。
エンドユーザー的にも仕事が止まってしまうのが一番まずいと思うので。

> >>確認できたこと。
> >>
>>これは繋がらないとおっしゃっているクライアント側で実験したのでしょうか?
> その通りです。動作できなくなったパソコンで確認してみました。
>
> サーバのファイアーウォールは、確実にオフにして調べたわけではありませんが、駄目なパソコンからsqlcmdが使えたのでOKと思ってました。
>
「sqlcmd -S localhost -E」が気になっていたので聞きました。
localhostは、自分を指すはずなのでクライアント側で行っていたのかなっと思ってました。

> アプリコピー後なので、他の設定ファイル関連のエラーとも考え、動作するパソコンからフォルダーの中身を全部コピー(上書きでなく、消去後にコピー)してみましたが、状況変わらず。
>
サポートする時は、HDDの余裕が限界まで無くならない限り、フォルダーコピーまたはリネームしてバックアップを取っておいた方が良いですよ。
動作を確認できた後、バックアップを消せば済むのですから。

> と、こんなところです。あと調べるところって何かありますか?
>
アプリのバージョンアップにより動作しなくなったように見受けられますので、アプリ側のコードを見直すくらいしか思いつきません。
あとは、アプリで使用している設定ファイルとか?

※もしその場でコードが作れるのなら、ボタンを押して、DB接続/切断するだけのアプリをちょこっと作ってテストするくらいですかね?
a様、お世話になります。


> アプリのバージョンアップにより動作しなくなったように見受けられますので、アプリ側のコードを見直すくらいしか思いつきません。
> あとは、アプリで使用している設定ファイルとか?
確かに、この辺は、疑っているところです。


もう少し格闘してみます、ありがとうございました。

DOBON.NET | プログラミング道 | プログラミング掲示板