SQL Server Browser

  • Comments posted to this topic are about the item SQL Server Browser

    Thanks

  • Thanks for q 🙂

    M&M

  • totally got burned by this one. : )

    --------------------------------------------------------------------------------------
    Hai Ton
    My Db4Breakfast blog.

  • Great question, thanks.

    Need an answer? No, you need a question
    My blog at https://sqlkover.com.
    MCSE Business Intelligence - Microsoft Data Platform MVP

  • Nice Question.. Thanks

    [font="Verdana"]Regards,
    Rals
    [/font].
  • This was removed by the editor as SPAM

  • I learnt something today - don't answer QOTD too quickly!

    No points today for me...

  • paul s-306273 (7/12/2011)


    I learnt something today - don't answer QOTD too quickly!

    No points today for me...

    LOL - same here! I was reminded to actually *read* the question, not skim it!

    -Ki

  • Thanks for the question. Learned a few things.

    [font="Verdana"]Please don't go. The drones need you. They look up to you.[/font]
    Connect to me on LinkedIn

  • OK, I got it wrong (as usual). However, I'm not sure about the answer.

    Please, correct me if I'm wrong:

    There is no thing such as an IP_ANY port.

    The Well Known Ports are those from 0 through 1023.

    The Registered Ports are those from 1024 through 49151.

    The Dynamic and/or Private Ports are those from 49152 through 65535.

    SOURCE: http://www.iana.org Port Numbers

    IP_ANY seems to have been used in that BOL page to indicate that the SQL Browser service is not cluster-aware, so it listens on all IP addresses. However, the port it listens on is always UPD 1434.

    This behaviour of the SQL Browser service is well known and documented (I had to fight with it some years ago) and it can cause some head-scratching to network admins. When it receives a request on a virtual IP address, the SQL Browser service can send the response datagram from any of the IP addresses of the server machine, which causes many firewalls to drop the datagram. You can see this happening using Wireshark or Netmon to sniff the packets.

    You can read more here: Unable to connect to a SQL Server named instance on a cluster

    and here: Unexpected Behavior Setting Up Firewall Rules with Clustered SQL Server Instances

    I don't give a damn about the points, I just want to make sure I understand things correctly. 🙂

  • Great question and comments. Learned a few things today, and have to continue doing so... 🙂

  • Gianluca Sartori (7/12/2011)


    I don't give a damn about the points, I just want to make sure I understand things correctly. 🙂

    I have to agree. IP_ANY is a flag that says that any IP address not any port. UDP 1434 is still the browser port.



    --Mark Tassin
    MCITP - SQL Server DBA
    Proud member of the Anti-RBAR alliance.
    For help with Performance click this link[/url]
    For tips on how to post your problems[/url]

  • mtassin (7/12/2011)


    Gianluca Sartori (7/12/2011)


    I don't give a damn about the points, I just want to make sure I understand things correctly. 🙂

    I have to agree. IP_ANY is a flag that says that any IP address not any port. UDP 1434 is still the browser port.

    Ok time to refute myself. I clearly misunderstand what IP_ANY is.

    http://msdn.microsoft.com/en-us/library/ms191220.aspx

    By default, TCP connections use the TSQL Default TCP endpoint. If a new (user-defined) TCP endpoint is created for a specific TCP port, connections to that TCP port will connect to that new endpoint. If a new TCP/TSQL endpoint is created using IP_ANY as the port, then TCP connections will connect to that new endpoint.

    ...

    2.If there is not an exact match, the TCP port is checked against all IP_ANY endpoints, and if the TCP port is listed, that endpoint is used.

    I don't even know if microsoft knows how to explain this one. Head hurts... where caffeine?



    --Mark Tassin
    MCITP - SQL Server DBA
    Proud member of the Anti-RBAR alliance.
    For help with Performance click this link[/url]
    For tips on how to post your problems[/url]

  • More information:

    http://blogs.msdn.com/b/farukcelik/archive/2008/12/05/how-you-should-set-your-firewall-rules-to-be-able-to-connect-to-a-sql-server-2005-2008-clustered-instance.aspx

    I always took IP_ANY to refer to all possible IP Addresses and make no reference to the port. So I too question this. I have never seen any other place for SQL Browser to listen other than UDP 1434, even on clusters (just make sure it's running on both nodes), and frankly I don't even think there's a way to change that. I certainly haven't seen one. So unless someone can show me something more conclusive from documentation, I stand on UDP 1434. I also would need to see docs saying that IP_ANY changes ports, rather than specify that the browser listen on all IP addresses.

  • Thinking about this more and I am more convinced. IP_ANY would make a difference if you had multiple instances on a cluster, a common thing. Each instance gets its own IP address. The browser has to listen on all IP addresses on that server to find any requests. If you have 5 instances, that's 5 IPs above and beyond the actual server IPs. The browser has to listen to all of them. But as far as I know, it listens on UDP 1434 on all of them.

Viewing 15 posts - 1 through 15 (of 61 total)

You must be logged in to reply to this topic. Login to reply