2

SQL ServerManagementStudioを使用してSQLServer2008Expressのローカルインスタンスに接続できません。

この問題は、接続プロトコルに加えた変更に関連していると思います。エラーが発生する前に、共有メモリを有効にし、名前付きパイプとTCP/IPを無効にしました。次に、名前付きパイプとTCP / IPの両方を有効にしました。これが、問題が発生し始めたときです。

SSMSを使用して(SQLサーバーのsysadminログインまたはWindows認証を使用して)サーバーに接続しようとすると、次のエラーメッセージが表示されます。

サーバーとの接続は正常に確立されましたが、ログインプロセス中にエラーが発生しました。(プロバイダー:名前付きパイププロバイダー、エラー:0-パイプのもう一方の端にプロセスがありません。)(Microsoft SQL Server、エラー:233)

名前付きパイプエラーが返されるのはなぜですか?接続プロトコルのリストで優先順位が高いため、共有メモリを使用しないのはなぜですか?なんらかの理由で共有メモリをリッスンしていないようですが?

名前付きパイプを有効に設定して接続しようとすると、同じエラーメッセージが表示されます。

私のWindowsアカウントには、私のコンピューターに管理者権限がありません-おそらくこれは何らかの形で違いを生んでいます( 「SuperSocketNetLib \ Lpc」レジストリキーに関するこの投稿の議論のいくつかが示唆しているようです)。

4

4 に答える 4

4

同じ問題がありました。これが私のためにそれを解決したものです:

  1. SQL Management Studio を開く
  2. インスタンスのセットアップに使用した管理者アカウントを介して接続
  3. オブジェクト エクスプローラーからサーバーを選択した
  4. マウスの右クリックのプロパティ
  5. サーバーのプロパティが開きます
  6. セキュリティに移動
  7. Windows 認証モードから SQL Server および Windows 認証モードに変更しました
于 2012-02-14T18:14:29.480 に答える
3

私はグーグルが教えるすべてをやりましたが、TCP / IPにうまく接続できません。次に、次の手順を実行して、自宅のコンピューターで機能させるようにします。

ステップ 1.DB インスタンスの SQL Server Network Configuration で TCP/IP を有効にします。
ステップ 2. TCP/IP のプロパティを選択し、[IP アドレス] タブをクリックします。
ステップ 3. 127.0.0.1 以外のすべての IP アドレスを非アクティブにします。
ステップ 4. 127.0.0.1 および IPALL で TCP ポートを 1433 に設定します。
ステップ 5. SQL Server サービスを再起動します。
ステップ 6. Toad for SQL Server フリーウェアで「127.0.0.1\SQLEXPRESS,1433」を使用して TCP/IP に接続すると、動作します。
ステップ 7. PHP で同じサーバー文字列に接続すると、機能します。
ステップ 8. 私のように中国語の文字列を php プログラムに読み込む必要がある場合は、PHP 用の MS SQL Server ドライバーをダウンロードしてください (信じてください。)。PHP 5.2x の場合は、ts_VC6 バージョンを使用します。5.3X の場合、ts_VC9 バージョンを使用します (特に Win7 の場合)。
ステップ 9. php.ini を編集し (Appserv の場合は C:\Windows7 の下にあります。WAMPserver 2.2 の場合は c:\wamp\bin\php\php5.3.8 の下にあります)、extension=... 行グループを見つけます。'extension = 使用する特定の sql erver ドライバー dll ファイル名を追加します。
ステップ 10. ステップ 8 でダウンロードしたファイルを解凍し、特定の dll (またはすべてをコピー) を php 拡張ディレクトリにコピーします (php.ini の extension_dir=... 行にあります)。Appserv の場合は、c:\windows\system32 にもコピーすることをお勧めします (理由は聞かないでください)。
ステップ 11. Appserv の Apache サービスを再起動するか、Wampserver を再起動します。

TCP/IP を使用して SQL Server 2008 に接続できるようになり、utf-8 文字列 (私の場合) を php プログラムに正しく読み込むことができます。

私のように、この解決策を必死に探している人に役立つことを願っています。

于 2011-11-27T05:41:51.543 に答える
0

名前付きパイプを無効にするために SQL Server に接続できないため、TCPIP 接続を強制する必要があります。

方法は次のとおりです。

をクリックしてSTART / RUN、ユーティリティを実行しcliconfg.exeます。これで、サーバーのエイリアスを作成し(同じ名前を使用できます)、TCPIPのデフォルトを入力します

これにより、名前付きパイプを介した TCPIP が強制され、おそらく接続されるはずです。

CliConfg で使用したエイリアス名に接続してみると、TCPIP を使用して接続されるようになります。

于 2010-03-23T13:58:31.940 に答える
0

私はこれとまったく同じ問題を抱えていました。として接続しようとするASHWHVM004\SQLEXPRESSと、接続に失敗したというメッセージが表示されます。私が明示的に要求した場合Shared Memory、それはうまくいきます。Shared MemoryNamed Pipes、およびTCP/IPはすべて有効でした。

次のようにして、一見「修正」したようです。

  1. >を開いてSql Server Configuration Managerドリルダウンしました。SQL Server Network ConfigurationProtocols for SQLEXPRESS
  2. 以外はすべて無効にしましShared Memoryた。
  3. SQLEXPRESSサービス インスタンスを再起動し、以前と同じように接続を試みました。うまくいきました。
  4. サービスインスタンスを有効TCP/IPにしNamed Pipesて再起動し、以前と同じように接続を試みました。SQLEXPRESSうまくいきました。

このプロセス中に、覚えていないことを修正するために何か他のことをしたか、無効にしてから再度有効にする操作により、いくつかの厄介なビットが正しい方法で元に戻されました。

幸運を!

于 2010-06-04T16:24:08.307 に答える