Skip to content

SQLSERVER cannot connect to instance if port 1434 is blocked #780

Description

@mmoole

Sling version:

Version: 1.5.23

What is the Operating System?

Windows

Do you have a CLI Pro/Platform subscription?

No

Description of the issue

I strangely am also now affected by the following problem: cannot connect to an instance if port 1434 is blocked.
But I found out that leaving the port from the connection would sometimes allow it to connect.
We have port 1434 blocked, and other tools like MS SQL Studio or Java applications connect perfectly to the instance.
Interestingly, the instance (version 13) has set 'Enable Contained Databases' to false. The user has the permission "Connect SQL".
But when having this in my env.yaml:

  DABA1:
    type: sqlserver
    host: THEHOST
    user: the_user
    port: 1433
    instance: Instance
    database: dbname
    # schema: dbo
    password: "PassWör#d123/y!?."
    trust_server_certificate: true

It cannot connect being used by Sling:

  • Nevertheless, I got it working temporarily commenting out the port. But now it fails.
  • If specifying the port and instance name: ERROR: Login failed for user "the_user". immediately
  • If not specifying the port but the instance name: takes a time, and errors
    ERROR: unable to get instances from Sql Server Browser on host THEHOST: read udp 172.0.0.123:50533->192.168.0.123:1434: i/o timeout
    ERROR: Skipping protocol tcp. Error:no instance matching 'Instance' returned from host 'THEHOST'
    
  • if using the url "sqlserver://myuser:mypass@host.ip:1433/my_instance?database=dbname&encrypt=true&TrustServerCertificate=true" as connection, also takes a time with same error.
  • if specifying the port but not the instance name: ERROR: Login failed for user "the_user". immediately
  • if specifying the host like THEHOST/Instance and not specifying the port: takes a time, and then:
    Error:no instance matching 'Instance:1433' returned from host 'THEHOST'
    
    • Which is interesting because I left out the port...

So I am not certain if this is a Sling problem, or a driver problem...? There is a ticket there ( denisenkom/go-mssqldb#714 ) , but it seems solved....?

By the way in the docs: it would make sense to mention to url-escape special characters if using the connection string, just as a quick heads-up.

Replication Configuration

not yet

Log Output

ERROR: unable to get instances from Sql Server Browser on host THEHOST: read udp 172.0.0.123:50533->192.168.0.123:1434: i/o timeout
ERROR: Skipping protocol tcp. Error:no instance matching 'Instance' returned from host 'THEHOST'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions