Skip to content

more MSSQL notes#496

Merged
javornikolov merged 1 commit intodbfit:masterfrom
jeremysimmons:patch-2
Aug 27, 2016
Merged

more MSSQL notes#496
javornikolov merged 1 commit intodbfit:masterfrom
jeremysimmons:patch-2

Conversation

@jeremysimmons
Copy link
Copy Markdown
Contributor

add note about SQL Browser service requirement when using sql express
also changed previous instruction about enabling tcp/ip protocol. I'm not sure if there's a better way to indicate you could have multiple engine instances installed, and you need to enable for the one you're working with.

add note about SQL Browser service requirement when using sql express
@MMatten
Copy link
Copy Markdown
Contributor

MMatten commented May 19, 2016

Is it always port 1434?

Can you double check this requirement? I've not had to do this myself before.

@jeremysimmons
Copy link
Copy Markdown
Contributor Author

yes. absolutely sure @MMatten
Documentation here: https://technet.microsoft.com/en-us/library/ms181087(v=sql.105).aspx

What are the details of the !Connect fixture you're using?

When I use this !Connect fixture, with SQL Browser Service in Stopped, I get an exception.
!|Connect|jdbc:sqlserver://localhost\sqlexpress;user=FitNesseUser;password=FitNesseUser;databaseName=FitNesseTestDB|

com.microsoft.sqlserver.jdbc.SQLServerException: The connection to the host localhost, named instance sqlexpress failed. Error: "java.net.SocketTimeoutException: Receive timed out". Verify the server and instance names and check that no firewall is blocking UDP traffic to port 1434. For SQL Server 2005 or later, verify that the SQL Server Browser Service is running on the host.

@MMatten
Copy link
Copy Markdown
Contributor

MMatten commented May 31, 2016

What happens if you connect using the port number instead of the instance name with the browser service disabled?

E.g.

!|Connect|jdbc:sqlserver://localhost:1433;user=FitNesseUser;password=FitNesseUser;databaseName=FitNesseTestDB|

@jeremysimmons
Copy link
Copy Markdown
Contributor Author

@MMatten sql express binds to a random port by default. The SQL Server Client requires the SQL Browser service which operates on a single well-known port to provide resolution of Instance-Name to Port. Think of it like DNS... you trade a DomainName for IP address...

You CAN force SQL Express to use Port 1433, but it's not the default.
https://msdn.microsoft.com/en-us/library/ms177440.aspx

@javornikolov javornikolov merged commit 4e84f28 into dbfit:master Aug 27, 2016
@javornikolov
Copy link
Copy Markdown
Contributor

Thank you @jeremysimmons!

@javornikolov javornikolov added this to the Next milestone Aug 27, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants