SQL Server実行ポートを見つける方法は?


94

はい私はこれを読んでMS SQL Server 2008のポートを見つける方法は?

運が悪い。

telnet 1433

接続に失敗したため、他のポートを指定する必要があります。

使ってみた

netstat -abn

しかし、このリストにsqlservr.exeなどは表示されません。

なぜそのポートを見つけるのがそれほど難しいのですか?:/


SQL Server サービスが実行されているかどうかを確認しましたか?
Pilgerstorfer Franz 2012

回答:


148

これを試して:

USE master
GO
xp_readerrorlog 0, 1, N'Server is listening on' 
GO

http://www.mssqltips.com/sqlservertip/2495/identify-sql-server-tcp-ip-port-being-used/


13
影響を受けた0行を返します
keram

1
マスターデータベースを使用してこれを実行してみましたか
AnandPhadke

3
0行を返す場合、TCP / IPは無効になっています。SQL Server構成マネージャーでTCP / IPを有効にしました。
Timo

76

とてもシンプル。taskmanagerからのsqlsrvr.exe PIDをメモしてから、次のコマンドを実行します。

netstat -ano | findstr *PID*

SQLサーバー(ポートを含む)のTCPおよびUDP接続が表示されます。標準は、TCPの場合は1433、UDPの場合は1434です。

例: ここに画像の説明を入力してください


3
これは私にとって「逆に」機能しました。SSMSで接続したリモートマシンの(デフォルトではない)ポート番号を見つける必要がありました。
leqid 2016年


39

SQL Server構成マネージャーを開始できる場合> SQL Serverネットワーク構成>インスタンス> TCP / IP>プロパティ

ここに画像の説明を入力してください


8

「昇格されたコマンドプロンプトから」「netstat -a -b -n」を実行し、「sqlservr.exe」がまったく表示されない場合は、SQL Serverサービスが実行されていないか、そのTCP / IPネットワークライブラリが無効。

SQL Server構成マネージャーを実行します([スタート]、[すべてのプログラム]、[Microsoft SQL Server 2008]、[構成ツール])。

SQL Serverサービスに移動します。右側のペインでSQL Server()を探します。止まっていますか?もしそうなら、それを開始します。

SQL Serverネットワーク構成(または必要に応じてSQL Serverネットワーク構成(32ビット))に移動し、[プロトコル]に移動します。右側のペインで「TCP / IP」を探します。無効ですか?その場合は、有効にしてから、SQL Serverサービスを再起動します。

デフォルトのインスタンスの場合、インスタンスIDはMSSQLSERVERになることに注意してください。

また、クライアントをサービスに接続するためにTCP / IPネットワークライブラリを有効にする必要がないことにも注意してください。クライアントは、共有メモリネットワークライブラリ(クライアントが同じマシン上にある場合)または名前付きパイプネットワークライブラリを介して接続することもできます。


3

多分それはTCP / IPを使用していません

SQL Server構成マネージャーで、使用しているプロトコルを確認してください。


SQL Native Clientの設定?TCP / IPが有効になっています。ただし、デフォルトのポートは1433に設定されています:/
keram

@keramいいえ-それはクライアント用です。あなたはサーバー設定ユーティリティを必要としています。
podiluska 2012

私はその構成をどこで見つけることができますか?
keram 2012


2

私たちの企業では、MSSQLサーバーにアクセスできないため、システムテーブルにアクセスできます。

私にとってうまくいくのは:

  1. Wiresharkサーバーへの接続を開いている間に、ネットワークトラフィックをキャプチャします(管理者として実行し、ネットワークインターフェイスを選択します)。
  2. でIPアドレスを見つける ping
  3. でフィルタリング ip.dst == x.x.x.x

ポートはinfo、フォーマットの列に表示されますsrc.port -> dst.port


2

これは私が使用する別のスクリプトです:

-- Find Database Port script by Jim Pierce  09/05/2018

USE [master]
GO

DECLARE @DynamicportNo NVARCHAR(10);
DECLARE @StaticportNo NVARCHAR(10);
DECLARE @ConnectionportNo INT;

-- Look at the port for the current connection
SELECT @ConnectionportNo = [local_tcp_port]
 FROM sys.dm_exec_connections
    WHERE session_id = @@spid;

-- Look for the port being used in the server's registry
EXEC xp_instance_regread @rootkey = 'HKEY_LOCAL_MACHINE'
                        ,@key =
                         'Software\Microsoft\Microsoft SQL Server\MSSQLServer\SuperSocketNetLib\Tcp\IpAll'
                        ,@value_name = 'TcpDynamicPorts'
                        ,@value = @DynamicportNo OUTPUT

EXEC xp_instance_regread @rootkey = 'HKEY_LOCAL_MACHINE'
                        ,@key =
                         'Software\Microsoft\Microsoft SQL Server\MSSQLServer\SuperSocketNetLib\Tcp\IpAll'
                        ,@value_name = 'TcpPort'
                        ,@value = @StaticportNo OUTPUT

SELECT [PortsUsedByThisConnection] = @ConnectionportNo
      ,[ServerStaticPortNumber] = @StaticportNo
      ,[ServerDynamicPortNumber] = @DynamicportNo
GO

1

プロトコルを有効にしてみてください: 構成マネージャー > SQLサーバーネットワーク構成 > MSSQLSERVERのプロトコル > TCP / IPのプロパティ


1

一度お試しください:-

USE master
DECLARE       @portNumber   NVARCHAR(10)
EXEC   xp_instance_regread
@rootkey    = 'HKEY_LOCAL_MACHINE',
@key        =
'Software\Microsoft\Microsoft SQL Server\MSSQLServer\SuperSocketNetLib\Tcp\IpAll',
@value_name = 'TcpDynamicPorts',
@value      = @portNumber OUTPUT
SELECT [Port Number] = @portNumber
GO

0

SQL Server 2000プログラム| MS SQL Server | クライアントネットワークユーティリティ| TCP_IPを選択してから、プロパティ

SQL Server 2005プログラム| SQL Server | SQL Server構成マネージャー| MSSQLSERVERのプロトコルを選択するか、クライアントプロトコルを選択してTCP / IPを右クリックします。


0

答えを詳しく説明してください。
過酷なウォーダン

このリンクは質問への回答に役立つ場合がありますが、リンクの重要な部分を取り、それを回答に組み込むことで、この回答を改善できます。これにより、リンクが変更または削除された場合でも、回答が回答であることを確認できます:)
WhatsThePoint

0

別のオプションは、Windowsレジストリを読み取ることです。PowerShellを使用すると、次のようなことができます。

#Get SQL instance's Port number using Windows Registry:
$instName = (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server').InstalledInstances[0]
$tcpPort = (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\$instName\MSSQLServer\SuperSocketNetLib\Tcp").TcpPort
Write-Host The SQL Instance:  `"$instName`"  is listening on `"$tcpPort`"  "TcpPort."

ここに画像の説明を入力してください ホストサーバー(SQLインスタンス/ SQLサーバーのインストールをホストする)でこのPowerShellスクリプトを実行してください。つまり、最初にSQLサーバー/ボックス/ VMにRDPを実行してから、このコードを実行する必要があります。

HTH

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.