web-dev-qa-db-ja.com

SQL Server Management Studio DAC接続エラー

Management Studioを使用して、DAC経由でSQL Server 2012に接続しようとしています。サーバー名の前にadmin:と入力しましたが、同じエラーが発生し続けます。

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

私がチェックしたもの:

  • 通常の接続(DAC以外)を使用すると問題なくログインできます
  • Tcpを強制するときにログインすることもできます:接続文字列
  • ユーザーはシステム管理者(sa)です
  • ローカルサーバー(物理SQLマシン)からログインしています
  • SQL Serverブラウザーが有効になっている
  • リモート接続が有効で、ファイアウォールが無効になっています
  • RegeditのTcpDynamicPortsが59036に設定されました
  • 私はこれを実行しました:

    exec sp_configure 'show advanced options', 1  
    RECONFIGURE WITH OVERRIDE  
    exec sp_configure 'remote admin connections', 1  
    RECONFIGURE WITH OVERRIDE  
    

これまでのところ、何も助けになりませんでした。

2
user3601171

RegeditのTcpDynamicPortsが59036に設定されました

インスタンスに名前が付けられ、動的ポートを使用するように構成されます。デフォルトのインスタンスは、すべての接続を1433でリッスンしており、DACを1434でリッスンしています。DACのポートはまだ不明ですが、エラーログで確認できます。

xp_readerrorlog 0,1,N'Dedicated admin connection'

次に、ファイアウォールで開いていることを確認する必要があります。このポートを直接指定して接続できます。

myPCname,port
2
sepupic

SQL Serverのローカルマシンをすでに使用しているので、_exec sp_configure 'remote admin connections', 1_を構成する必要はありません。ローカルサーバーからのみDACを利用できるようにしておくことは、セキュリティの観点からは良い習慣です。

ただし、次の方法でDAC接続を確立してください。

  1. DACがローカルでリッスンしているポート番号を確認します(@sepupicで言及)。メッセージは次のようになります

ポートでlcoallyをリッスンするための専用管理接続サポートが確立されました

  1. おそらく、ステップ1で動的ポートが見つかります。その場合、SSMSでServerNameを_ADMIN:localhost\InstanceName_として使用します。
  2. DACをSQLCMD経由で接続することをお勧めします。次のようにしてみてください。
    _SQLCMD -S "Localhost,xxxx" -U Login -P yourpassword -A_
    または
    _SQLCMD -S "Localhost\InstanceName" -U Login -P yourpassword -A_
  3. _SQL Express_で試してみる場合は、まず次のトレースをオンに設定します
    DBCC TRACEON (7806, -1)
1
Shekar Kola