Here is my troubleshooting list:
Troubleshooting to SQL VirtualBox
SQL allows remote connections. Done.
Enabled TCP for SQLServer.
Opened ports 1433 and 1434 in firewall.
Started SQLBrowser and SQLAgent.
Set all Virtual Boxes to use custom Nat Network, (can ping each other)
Added SQLAuthentication to new user BizTalkSQL - still could not connect.
Attempted to connect from VM10 (another VB) using SSMS - still could not connect.
I found an answer on Stack Exchange by p.Campbell, that at least allowed my to connect to SQL Server on one virtual box from another virtual box, using SSMS. What was missing is that I needed to allow these two applications through the firewall.
C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Binn\SqlServer.exe
C:\Program Files\Microsoft SQL Server\90\Shared\SqlBrowser.exe
Once I did that I was able to access SQL Server.
Related
I am using Microsoft SQL Server Management Studio 17 to connect to a remote Microsoft SQL Server database. Looking at the connection dialog of Studio 17, I don't see any port number setting. Google tells me that Studio uses port 1433 by default.
I tried to use telnet to check if port 1433 is listening on the remote server: telnet example.company.com 1433
However, the connection failed. How can I find the port used for this database connection?
You could connect SSMS to your DB, run ProcessExplorer and examine the properties of ssms.exe. On the "TCP/IP" tab you possibly find what you are asking for:
Make sure you have connectivity to the server first. Since you mentioned "remote" there could be a firewall in the way, so your solution is going to depend on your network topology.
Can you ping the server? If ping works, I would reach out to the owner of the server and verify the DB connection parameters. Maybe your IP needs to be whitelisted. Etc. Etc.
Check if the server host has inbound port 1433 enabled, and whether TCP/IP is enabled using the SQL server configuration manager. If the SQL server instance in question sits on the cloud, you might want to check the specific provider's firewall rules on the container and adjust to permit 1433 inbound connections. The port setting entirely lies on where the actual SQL server instance sits. The management studio in your remote client will not be using any port.
Closed. This question is not about programming or software development. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed last month.
Improve this question
We have an Azure Virtual Machine with SQL Server 2017 Express.
However, I can't connect to the SQL Server from my local computer using SSMS.
When trying to connect SSMS throws the error message:
"Cannot connect to (VM name):(port number)
-> A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections."
SQL Server 2017 Express has been natively installed on the VM using the download from https://www.microsoft.com/en-us/sql-server/sql-server-editions-express.
SQL Server 2017 Express has NOT been set up using the setup using the Azure portal like in the example in the following link: https://learn.microsoft.com/en-us/azure/virtual-machines/windows/sql/quickstart-sql-vm-create-portal
I have tried the following guides among others, without luck
- https://logicalread.com/connect-windows-azure-vm-using-ssms-tl01/#.XF1dIjNKiUl
- https://www.youtube.com/watch?v=5UkHYNwUtCo
- https://blogs.msdn.microsoft.com/sqlexpress/2005/05/05/how-to-configure-express-to-accept-remote-connections/
- https://learn.microsoft.com/en-us/azure/virtual-machines/windows/sql/virtual-machines-windows-sql-connect
- https://social.technet.microsoft.com/wiki/contents/articles/36674.access-azure-vm-sql-server-outside-of-network.aspx
I have done the following
- Windows Firewall with Advanced Security
--> Adding firewall inbound rule opening the port 1433 & 49170
- SQL Server Configuration Manager
-> SQL Server Network Configuration
--> Protocols for SQLEXPRESS
---> TCP/IP, set to "Enabled"
----> TCP/IP Properties, IP Addresses, IPAll, "TCP Port" set to 49170
----> TCP/IP Properties, IP Addresses, IPAll, "TCP Dynamic Ports" made blank
-> SQL Server Services
--> SQL Server (SQLEXPRESS), restart service
However, In SSMS my local computer can't connect to the SQL Server on the Azure Virtual Machine.
I have tried starting the SQL Browser Service in SQL Server Configuration Manager, as suggested in
Cannot connect to Azure VM with SSMS
I am using Microsoft SQL Server Management Studio 2016 on my local computer.
Why can't I login to the Azure VM's SQL Server from my local computer using SSMS?
Is there something blocking the connection from SSMS?
I have also tried to ping the VM from my local computer using command prompt but without success.
I can't ping my VM even if I temporarily disabled the Windows firewall on it.
On the following article it says that the Azure load balancer could be blocking the signal https://www.petri.com/how-to-remotely-ping-microsoft-azure-vms
Could this be the same issue which blocks Access to the Virtual Machine's SQL Server from my local computer's SSMS?
I have been having the same problem and here is what worked for me. Check to make sure the Port value in configuration is not empty. When I added it, I was able to connect. See attached screen shot.
enter image description here
You mention that you have opened things up in Windows Firewall, but have you opened any ports in the Azure Network Security Group? By default when you create a VM Azure will create an NSG, you will need to go to the portal and add an NSG rule to allow port 1433.
Also, note that you will be unable to ping an Azure VM from the outside, ICMP is disabled.
When run Sharepoint 2013 configuration wizard, I get an error at step 3-Failed to create the configuration database:
An exception of type System.ArgumentNullException was thrown. Additional exception information: Value cannot be null.
Parameter name: password
Also,
- Sharepoint_config database created in SQL server
- Try to reinstall Sharepoint
- Try to reinstall SQL server
But, the error still there.
Anyone has idea? Help please
Update: I found some sites added to IIS. May I add these sites previous time with older password. By delete these site, re-run configuration wizard, it passes issue and complete successfully.
Thank you all for your comment
There are many reasons why:
SQL database and services are down.
The SQL database may not be running correctly
You applied a Hotfix or Service Pack and did not reboot.
The Firewall is blocking the communication
The SharePoint Installation Account does not have the required permissions to the SQL Server database.
Network connectivity is not optimal between the SharePoint Server and SQL Server.
Troubleshooting steps
Check logs:
Review the PSCDiagnostics log at, C:\program files\common files\Microsoft shared\web server extensions\15 or \14 for the SharePoint logs
This is the kind error that you can receive with maybe more information: System.Data.SqlClient.SqlException was thrown. Additional exception information: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (Provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)
Verify that the SQL database is running and services.
In the list of services, locate the MSSQLSERVER service and be sure that it’s running.
Be even sure that on the Microsoft SQL Server, the following services are running:
SQL Browser (if your aren’t using the default instance name)
All other SQL services
3. Firewall
Firewall can block access and communication with your Microsoft SQL Server so you have 2 possibilities.
Disable Firewall, easiest way on development machine but not secure and recommended for a Production environment.
So you can create 2 rules on the Firewall:
One inbound TCP rule with ports:1433,2383,2382
One inbound UPD rule with port: 1434
1433: SQL Server is a Winsock application that communicates over TCP/IP by using the sockets network library. SQL Server listens for incoming connections on a particular port. The default port for SQL Server is 1433. The port doesn't need to be 1433, but 1433 is the official Internet Assigned Number Authority (IANA) socket number for SQL Server.
2383: TCP port 2383 should be open when installing a default instance or creating an Analysis Services failover cluster.
2382: TCP port 2382 should be open when installing a named instance. Named instances use dynamic port assignments. As the discovery service for Analysis Services, SQL Server Browser service listens on TCP port 2382 and redirects the connection request to the port currently used by Analysis Services.
1434: the client computer would need to open a random UDP port and the server UDP port 1434 will be used to send the instance name, and if the instance is clustered, the version of the SQL instance, the TCP port number that the instance is listening on, and the named pipe that the instance is using. However, if the goal is to minimize the number of ports open on the firewall, a static port number should be chosen for the default instance and any named instance. The client computers would need to be configured to connect to a particular ServerName or ServerName instance and specific port number.
Is your SQL configured correctly?
Is actually your SQL server correctly setup? Are you sure about the steps that you executed? If not please check here. All these links are official TechNet articles:
Installation how-to Topics This link is external to TechNet Wiki. It will open in a new window.
Install SQL Server 2012 on Server Core This link is external to TechNet Wiki. It will open in a new window.
Validate a SQL Server Installation This link is external to TechNet Wiki. It will open in a new window.
Check Parameters for the System Configuration Checker This link is external to TechNet Wiki. It will open in a new window.
Product Updates in SQL Server 2012 Installation This link is external to TechNet Wiki. It will open in a new window.
Configure the Windows Firewall to Allow SQL Server Access This link is external to TechNet Wiki. It will open in a new window.
User Permissions
Next, you have to verify that your account has the required permissions on the SQL Server database.
Click Start, point to Programs, point to Microsoft SQL Server, and click Enterprise Manager
In the left pane, double-click Microsoft SQL Servers, and then double-click your SQL server group.
Double-click your server.
Double-click Security.
In the left pane, click Logins.
In the right pane, double-click the user for your Farm Admin Global Administrator.
In the SQL Server Login Properties dialog box, click Server Roles.
And select the following: Security Administrators and the Database Creators check boxes and then click Database Access.
Can they talk to each other?
Verify that SharePoint is using the correct IP address for the SQL server. To do this, run the ping command on the Windows SharePoint Services server.
Verify that the SharePoint server is obtaining the correct IP address for the SQL server from DNS. To do this, run the nslookup command from the SharePoint Server.
Make sure that there are no incorrect entries for the SQL server. To do this, examine the Hosts file on the SharePoint server. This file is in the following location:
%systemroot%\system32\drivers\etc\Hosts
On the SharePoint server, look for SQL client aliases. To do this, follow these steps: Click
Start, click Run, and then type cliconfg in the open box.
Click the Alias tab. By default, there are no SQL client aliases. If you have any aliases for the SQL server, verify that they are correct, or remove them.
Open the SQL Server Configuration Manager (Start SQL Server 2008 Configuration Tools SQL Server Configuration Manager
Navigate to the SQL Server Network Configuration Protocols for MSSQLSERVER node in the tree view
Enable TCP/IP and Named Pipes (you’ll be warned that these changes will not apply until the service is shut down)
SID
Please be sure that if you made a copy of a Virtual Machine that you used sysprep before to avoid getting the same SID! You can use PSTOOLS to change this if it’s not the case.
First, click to Start->Run, type sysprep and press OK.
This will open sysprep folder which is located in c:\Windows\System32. Open sysprep application.
This will open System Preparation Tool 3.14 window. As a System Cleanup Action select Enter System Out-of-Box Experience (OOBE). Important: select generalize if you want to change SID, it’s not selected by default. As Shutdown Options select Reboot.
After rebooting you’ll have to enter some data, for example, Country or region, Time and currency and Keyboard input.
Reset Database-connection-timeout and is your DB up-to-date
Follow the http://technet.microsoft.com/en-us/library/cc263314.aspx http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png This link is external to TechNet Wiki. It will open in a new window. and change the timeout to 45 with the next command: stsadm -o setproperty -pn database-connection-timeout -pv 45
Click Start, click Run, type cmd in the Open box, and then click OK.
Change to the following directory: system drive\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\Bin
Run the following command:
psconfig -cmd upgrade -inplace b2b
In SQL Server Configuration Manager, in the console pane, expand SQL Server Network Configuration, expand Protocols for , and then double-click TCP/IP.
If the TCP Dynamic Ports dialog box contains 0, indicating the Database Engine is listening on dynamic ports, delete the 0.
If the TCP Port box isn’t 1433, type the port number 1433 and then click OK.
In the console pane, click SQL Server Services.
In the details pane, right-click SQL Server () and then click Restart, to stop and restart SQL Server.
To assign a TCP/IP port number to the SQL Server Database Engine
In SQL Server Configuration Manager, in the console pane, expand SQL Server Network Configuration, expand Protocols for , and then double-click TCP/IP.
If the TCP Dynamic Ports dialog box contains 0, indicating the Database Engine is listening on dynamic ports, delete the 0.
If the TCP Port box isn’t 1433, type the port number 1433 and then click OK.
In the console pane, click SQL Server Services.
In the details pane, right-click SQL Server () and then click Restart, to stop and restart SQL Server.
SharePoint administrative accounts: Local Administrator
The installation account is used to set up each server in your farm by running the SharePoint Configuration Wizard, the initial Farm Creation Wizard, and Windows PowerShell. For the examples in the setup user administrator account is used for farm administration, and you can use Central Administration to manage it. Some configuration options, for example, configuration of the SharePoint 2013 Search query server, require local administration permissions. The setup user administrator account requires the following permissions:
It must have domain user account permissions.
It must be a member of the local administrators group on each server in the SharePoint farm, excluding the server running SQL Server and the Simple Mail Transfer Protocol (SMTP) server.
Please check this: http://social.technet.microsoft.com/wiki/contents/articles/6545.aspx
I have opened up port 1433 on my firewall, but every time I try and connect to my remote SQL Database with SQL Server Management Console I receive (Microsoft SQL Server, Error: 53)
https://social.technet.microsoft.com/wiki/contents/articles/2102.how-to-troubleshoot-connecting-to-the-sql-server-database-engine.aspx
http://blog.sqlauthority.com/2009/05/21/sql-server-fix-error-provider-named-pipes-provider-error-40-could-not-open-a-connection-to-sql-server-microsoft-sql-server-error/
http://blogs.msdn.com/b/walzenbach/archive/2010/04/14/how-to-enable-remote-connections-in-sql-server-2008.aspx
Enable remote connections for SQL Server Express 2012
Short Answer
Check Firewall
Check Service is Running
Check TCP/IP is Enabled
Check SQL Server Properties "Allow Remote Connections"
Check if the SQL Server is on a restricted subnet
Then Run these if Those Do not Resolve
Right-click on TCP/IP and select Properties.
Verify that, under IP2, the IP Address is set to the computer's IP address on the local subnet.
Scroll down to IPAll.
Make sure that TCP Dynamic Ports is blank.
Make sure that TCP Port is set to 1433.
If you have a named instance then you must have the SQL Server Browser Service enabled
The browser service runs on port UDP 1434 and this must be allowed through your firewall
Hail Mary Pass if this is Still not Resolved
Go to the client machine, and run cliconfg.exe If named pipes is listed first, demote it, and promote TCP/IP.
check if the firewall is blocking the named pipes port, which usually is 445
What you need to do is go into SQL Server Configuration Manager where SQL Server is installed.
In the Start Menu, under the Microsoft SQL Server folder, open the Configuration Tools folder and select SQL Server Configuration Manager.
In the Config Manager, click the arrow next to SQL Server Network Configuration, then click on "Protocols for {Instance}". {Instance} will be your install, if it's the default instance it will be MSSQLSERVER.
On the right side, make sure that TCP/IP is "Enabled". Double click TCP/IP, in the window that opens, change the drop down to "Yes".
Here is the how to fix it and gain your connectivity back:
Click WindowsKey + R and enter services.msc
Once Services opens scroll down and locate service SQL Server
Highlight the service and click START
Wait for the service to start and retry to connect to your MSSQL instance
It should now work again and you will be able to connect to your MSSQL instance and run queries.
I have solved this problem. Please refer to this thread: http://social.technet.microsoft.com/Forums/forefront/en-US/d2624655-e6ff-4947-b1a8-a2edcffd8a21/denied-connection-netbios-session-protocol#68321990-4ac4-46fa-b7f8-9e0ded3234bb
In detail: I was receiving the following error from ISA when trying to connect from my SBS 2003 Server to my offsite MSSQL Database Provider via SQL Server Management Studio:
Denied Connection
Log type: Firewall service
Status: A packet generated on the local host was rejected because its source IP address is assigned to one network adapter and its destination IP address is reachable through another network adapter.
Rule:
Source: Local Host ( 192.168.1.1:29859)
Destination: External (...:139)
Protocol: NetBios Session
I have figured this out. I had to add "Local Host" as one of the sources for the ISA Rule that I had initially created to allow SQL Server Management Console connections in the first place. That rule was allowing "Internal" sources but not the Local Host (127.0.01), which is needed for this scenario.
in SSMS while opening give the server name as your_Hostname\your_sqlservername (give both the names as applicable instead of local or just only servername) it works fine.
I could ping my Virtual Machine SQL server but couldn't connect to it.
I disabled my wired and wireless NICs and then it connected !
I have an SQL Server 2008 hosted on a different computer in a different domain. I am able to ping to this machine using the IP address, but not using the machine name. I have also checked the settings of the sql server instance and it is configured to provide access to remote connections.
(Allow remote connections, tcp/ip enabled)
When I try to find this server using Sql server management studio 2008 or VS 2008, I get the error saying that the server cannot be found.
what could be the reason for this?
Please check SQL Browser service is running.
Please make sure you are providing valid authentication details.
Also make sure that TCP/IP connections are allowed by the SQL Server instance by checking the SQL Server Configuration Manager. If you are using an express version of SQL Server then all remote connections are typically disabled by default.
You need to create a trust relationship between the domains I think, it's been a while since I've done things between domains.
Windows Firewall will block SQL Server connection requests from a client machine by default. These are the steps I normally do to allow SQL Server through Windows Firewall:
Windows Firewall-> Allow app or feature through Windows Firewall-> Change
Settings-> Allow another app-> Browse to SQL Server exe (eg: C:\Program
Files (x86)\Microsoft SQL
Server\MSSQL10.SQLEXPRESS\MSSQL\Binn\sqlservr.exe)-> Open-> Add.
Windows Firewall-> Allow app or feature through Windows Firewall-> Change
Settings-> Allow another app-> add SQL Brower service by going to
C:\Program Files (x86)\Microsoft SQL Server\90\Shared\sqlbrowser.exe.
SQL Server configuration Manager-> SQL Server Network Configuration->
Protocols for Your_SQL_Instance-> Right click TCP/IP on the right pane
and enable.
The SQL Server instance does not need to be configured to run on 1433 and therefore no need to open the 1433 port through the firewall. SQL Browser will find it for you whichever port it is running on.