web-dev-qa-db-ja.com

SQL Serverインスタンスにリモートで接続できません

ローカルマシンのSQL Server Management StudioからVPSのSQL Serverインスタンスにアクセスしようとしています。動作していません(エラーは次のとおりです:

SQL Serverへの接続を確立中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからなかったか、アクセスできませんでした。インスタンス名が正しいこと、およびSQL Serverがリモート接続を許可するように構成されていることを確認してください。

これは、リモート接続を許可するようにデータベースエンジンを構成する必要があるためだと思います(間違っている場合は修正してください!)。だから私はそれを行うのに役立つこのステップバイステップガイドを見つけました: http://www.linglom.com/2009/03/28/enable-remote-connection-on-sql-server- 2008-express / ガイドの10を指すようになりましたが、今は行き詰まっています! VPSにSQL Server Management Studioがインストールされていません。とにかく、これには2つのオプションがありました:

  1. SSMSをインストールする
  2. SSMSをインストールせずにガイドでポイント10以降を実行する別の方法を見つける

Web Platform Installerを使用してVPSにSSMSをインストールしようとしましたが、失敗し続けます。理由が分からないようで、なぜ失敗するのかわかりません。別の方法でリモート接続を許可する方法を知っている人はいますか?

VPSにインストールされているSQL ServerのバージョンはSQL Server 2008 R2 Expressです。

更新

ラップトップとVPSの両方でファイアウォールを無効にして、ファイアウォールの問題かどうかを確認しました。これは、エラーメッセージに違いはありません。

別の更新:

SSMSをインストールできるようになったので(WPIを使用するのではなくWebサイトから直接インストールしました)、サーバーがリモート接続を許可するように構成されていることを確認できました(SSMSにアクセスし、SQL Serverインスタンスに接続しました、接続をクリックして、[プロパティ]をクリックし、[接続]タブに移動しました。[このサーバーへのリモート接続を許可する]は既にチェックされています)。

[〜#〜] solution [〜#〜]

この解決策を手伝ってくれたみんなに感謝します!私はついにそれを機能させることができました! Filip De Vosのアドバイスに従い、VPSのファイアウォールのポートを開いたところ、別のエラーメッセージが表示されました。これにより、さらに調査することになり、ログインに間違った資格情報を使用していることがわかりました!そのため、saユーザーのパスワードを設定し、それを使用してログインできました。再度、感謝します!

30
Leah
  • 混合認証を有効にするには、次のレジストリキーを変更できます。

    HKLM\Software\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer\LoginMode
    

    値を2に更新し、SQL Serverサービスを再起動して混合認証を許可します。 MSSQL.1は、変更しようとしているSQL Serverインスタンスの数を反映するために更新する必要がある場合があることに注意してください。

  • 接続エラーの原因は、サーバーにインストールされているウイルススキャナーである可能性がありますsqlserver.exe

  • 別の理由として、SQL Server Browserサービスが実行されていないことが考えられます。このサービスが実行されていない場合、名前付きインスタンスに接続できません(動的ポートを使用している場合)。

  • SQL ServerがTCP接続をリッスンするようにセットアップされておらず、名前付きパイプのみを許可している可能性もあります。

    1. [スタート]メニューで、[プログラム]> [Microsoft SQL Server 2008]> [構成ツール]> [SQL Server Surface Area Configuration]を開きます。
    2. セキュリティ構成ユーティリティで、[SQL Server構成マネージャー]リンクをクリックします
    3. [SQL Serverネットワーク構成]を展開し、[プロトコル]を選択します。
    4. TCP/IPを有効にします。名前付きパイプが必要な場合は、ここでも有効にできます。
  • 最後になりましたが、WindowsファイアウォールはSQL Serverへの接続を許可する必要があります

    1. 「動的ポート」システムを使用する場合、sqlserver.exeの例外を追加します。
    2. それ以外の場合は、SQL Serverポートに例外を設定できます(デフォルトポート1433)
    3. SQL Server Browserの例外も追加します。 (udpポート1434)

詳しくは:

最後の注意として、 SqlLocalDB は名前付きパイプのみをサポートしているため、ネットワーク経由で接続することはできません。

48
Filip De Vos

Services.mscでSQL Server Browserサービスを自動に構成し、サービスを開始することに加えて、次でSQL/IPを有効にする必要がありました。 SQL Serverネットワーク構成| [インスタンス名]のプロトコル| TCP/IP

enter image description here

10
Keith Hays
  1. VPSでSQL Server構成マネージャーを起動します。

  2. SQL Serverネットワーク構成をご覧ください。 TCP/IPがenabledであることを確認してください。

  3. 次に、SQL Serverサービスを見てください。 SQL Server Browserが実行されていることを確認してください。

  4. SQL Serverのインスタンスのサービスを再起動します。

5
JYelton
  1. SQL Server構成マネージャーを開きます。..2.wheher TCPおよびUDPが実行されているかどうかを確認します。..3。実行されているかどうか。実行されていない場合はオンにします。

  2. 次に、ポートTCPおよびUDPが使用しているポートを確認する必要があります。Windowsファイアウォールからこれらのポートを開く必要があります。

5 . Windowsファイアウォールで特定のポートを開く手順を確認するには、ここをクリックしてください ....

  1. これで、SQL ServerはLAN経由でアクセスできるようになりました。

  2. リモートで(インターネット経由で)アクセスしたい場合は、「ポート転送」という別のジョブを実行する必要があります。ポートを開いているTCPとUDPがルーターのSQL Serverで使用されています。ルーターの構成が異なります。ルーターの詳細(つまり、会社とバージョン)、特定のポートを転送する手順を示します。

2
Paul S

ファイアウォールが適切に構成され、SQL Server構成マネージャーでTCP/IPが有効になっているのと同じ問題がありましたが、それをホストしているコンピューターの外部からSQLデータベースにアクセスできませんでした。ソリューションは、SQL Server Browserがサービスでデフォルトで無効になっていることを発見しました(SQL Server Configuration Managerで有効にするオプションはありませんでした)。

[コントロールパネル]> [管理ツール]> [サービス]で有効にし、[SQL Server Browser]をダブルクリックします。 [全般]タブで、ドロップダウンリストを使用してスタートアップの種類を[自動]に設定します。次に、SQL Server構成マネージャーに戻り、SQL Serverブラウザーが有効になっていることを確認します。お役に立てれば。 enter image description here

0
user3095420

Mysqlサーバー構成マネージャーを開きます。 SQLサーバーサービスをクリックし、右側でインストール中に作成したサーバーを選択します(デフォルトではその状態は停止しています)。一度クリックすると、ツールバーに再生ボタンが表示され、この再生ボタンをクリックして、待機しますその状態が「running」になるまで。今、あなたの良い。 SQLサーバー管理スタジオに戻ります。 「サーバータイプ」を「データベースエンジン」と「認証」を「SQLサーバー認証」に切り替え、デフォルトのログインは「sa」で、パスワードはサーバーの作成時に選択したパスワードです。これで作業できます。

最近、SQL 2008 R2からSQL 2012にアップグレードしましたが、同様の問題がありました。問題はファイアウォールでしたが、より具体的にはSQL SERVERのファイアウォールルールでした。カスタムルールは、以前のバージョンのSQL Serverを指していました。これを試して、Windowsファイアウォール>詳細設定を開きます。 SQL Serverルールを検索します(カスタム名がある場合があります)。右クリックして、プロパティ、[プログラムとサービス]タブの順に移動します。 [プログラム]-[このプログラム]が選択されている場合、sqlserver.exeの適切なバージョンを参照する必要があります。

0
Jim