可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I can\'t seem to connect to my database from a site. I get this error:
Named Pipes Provider, error: 40 - Could not open a connection to SQL Server
I tried using the local IP address to connect as well as a public one. I\'ve tried:
- Yes, the site can communicate with the server
- Named pipes/TCP is enabled.
- Remote connections are allowed.
- Windows Firewall is off
- Created an exception for port 1433 in Windows Firewall.
- Enabled everything in SQL Server Configuration Manager.
What else can I do here?
回答1:
Solving this problem is very easy:
- Go to control panel.
- search for services.
- Open Local services window from your search results
- Restart your MSSQLSERVER service.
Screenshot of the steps:
回答2:
And the simplest solution - check if your slash is back...
I spent about an hour trying to figure out what\'s wrong with SERVER/INSTANCENAME when everything is configured correctly, named pipes, user access rights... and suddenly it struck me, it\'s not a slash, it\'s a backslash (\\
).
The horror, the shame...
回答3:
It\'s a three step process really after installing SQL Server:
- Enable Named Pipes
SQL Config Manager --> SQL Server Network Consif --> Protocols --> Named Pipes --> Right-click --> Restart
Restart the server
SQL Config Manager --> SQL Server Services --> SQL Server (SQLEXPRESS) --> Right-click --> Restart
Use proper server and instance names (both are needed!)
Typically this would be .\\SQLEXPRESS, for example see the screenshot from QueryExpress connection dialog.
There you have it.
回答4:
I had just installed SQL SERVER 2012 developer. When I was creating my first SSIS package, I received this pipes error when I was trying to create a data connection task in SQL Server 2012 Data Tools in the Connection Manager box. I resolved with the help of the post above.
If choose a named instance and you call your named instance SSQDatabase1 and your pc\'s name is PCX1. You must enter PCX1\\SSQDatabase1 not just SSQDatabase1
or you will receive the named pipes error.
回答5:
A thread on MSDN Social, Re: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server, has a pretty decent list of possible issues that are related to your error. You may want to see if any of them could be what you\'re experiencing.
- Incorrect connection string, such as using SqlExpress
- Named Pipes(NP) was not enabled on the SQL instance
- Remote connection was not enabled
- Server not started, or point to not a real server in your connection string
- Other reasons such as incorrect security context
- try basic connectivity tests between the two machines you are working on
回答6:
i Just enabled TCP/IP,VIA,Named Pipes in Sql Server Configuration manager , My problem got solved refer this for more info Resolving Named Pipes Error 40
回答7:
Use SERVER\\\\ INSTANCE NAME .Using double backslash in my project solved my problem.
回答8:
Thanks to Damian...
TCP/IP
Named Pipes
... both enabled
Web Config....(for localhost)
<add name=\"FooData\" connectionString=\"Data Source=localhost\\InstanceName;Initial Catalog=DatabaseName;Integrated Security=True;\" providerName=\"System.Data.SqlClient\" />
回答9:
Did have the same problem. Spent like 6 hours when had to migrate some servers.
Tried all suggestions available on this topic and others.
Solution was as simple as server restart!
回答10:
in my case, i had a standalone server, i changed the sql server port default port 1433 in configuration manager to some number and restarted the sql serve service to take effect,i was able to connect to the sql server through management studio if i login to the server. but i was not able to connect from my local machine through sql server, i was getting the error:
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: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server) (Microsoft SQL Server, Error: 5)
I checked and verified all the below
-Named pipes/TCP is enabled.
-Remote connections are allowed.
-Windows Firewall is off
-Created an exception for portin Windows Firewall( this was not necessary in my case as the server is in same subnet network).
-Enabled everything in SQL Server Configuration Manager.
then i chnaged back the port number to default 1433 and restarted the sql server service, and the issue got resolved and i am able to connect the sql server from my local management studio.
回答11:
I had the same problem. I use the MSSQL Server Management Studio 2017 and solved this problem using these steps:
- Check for working fine SQL Server Services services or not.
- Also check for working in good condition SQL Server (MSSQLSERVER).
- Also check for working fine SQL Server Browser.
- Restart SQL Server (MSSQLSERVER)
and fixed it.
回答12:
Try the following steps:
Open Services window (open \"run box\" and type services.msc).
Looking for SQL services (with SQL prefix).
Start them (if cannot start. Goto step 4).
Right_click to each service -> Properties -> Change to tab \"Log on\"-> choise log on as \"Local ...\" -> 0K. Then start SQL services again.
Try Open SQL and connect database.
回答13:
You will find most likely your DB name is not correct, you will see the server name in VS like \"DESKTOP-0I14BKI\" but if you open up SSMS you will see DESKTOP-0I14BKI\\SQLBLAHBLAH , simply add \"\\SQLBLAHBLAH\" (instance name) to your \"server name\" in VS connection properties.
You will see:
To Fix:
回答14:
Very simple solution
use (local)\\InstanceName
that\'s it.it worked for me.
回答15:
After following all the steps mentioned here, if it still does not connect, try adding the DNS with the IP address in the hosts file in the etc folder. Adding an IP address instead of DNS name in the connection string should be a temporary solution to check if the connection actually works.
回答16:
I tried using the local IP address to connect as well as a public one.
I\'ve tried:
Yes, the site can communicate with the server Named pipes/TCP is
enabled. Remote connections are allowed. Windows Firewall is off
Created an exception for port 1433 in Windows Firewall. Enabled
everything in SQL Server Configuration Manager.
i ensured and did the above as well and I just want to share that the DOUBLE BACKSLASH
oBuilder.DataSource = \"SPECIFICPCNAME\\SQLEXPRESS\";
Using a SINGLE BACKSLASH resulted into a build error i.e.: Error 1 Unrecognized escape sequence
I hope this helps the next guy - I\'ve sacrificed dinner, midnight snack and NBA highlights time solving this (shame)
Thanks to [Tamizh venthan]
^_^
回答17:
Enable TCP/Ip , Piped Protocol by going to Computer Management ->SQL and Services, ensure the Service is On. Enbale the port on the Firewall. Try to login through Command Prompt -> as Admin; last the User Name
should be (local)\\SQLEXPRESS. Hope this helps.
回答18:
Open SQL Server Configuration Manager
- Select SQL Server Services from right.
- Find your server from right and go to its properties (with right click)
- Change log on method to Local System.
回答19:
I had the same problem and solved the problem by disabling my firewall(ESET).
The first step to solve this problem should be to try pinging your own computer from another computer. If you have firewall on, you may not be able to ping yourself. I tried pinging my own pc, then ping was failed(didnt get response from the server)
回答20:
I have suggested below steps to resolve your issue How do I fix the error \'Named Pipes Provider, error 40 - Could not open a connection to\' SQL Server\'
- Check for working fine SQL Server Services services or not.
- Also check for working in good condition SQL Server (MSSQLSERVER).
- Also check for working fine SQL Server Browser.
- Delete all earlier Aliases, now create new aliases as per your requirements.
- Now check for working of SQL Server Default Port 1433
- Next click on Client Protocols in instance, then click on TCP/IP, now click on mouse right click, open the Property, here you can make assure your working fine your default port SQL 1433.
- Open your SQL Server Management Studio, then right click, click on \"Property\" option and then click on Connections tab, then finally tick for Allow remote Connections to this server.
- Check for right working or your Ping IP Host.
回答21:
I was trying to add a new connection in VS2015. None of the suggestions here worked. Suspecting some sort of a bug in the wizard, especially since SSMS was able to connect just fine, I decided to try and trick it. It worked!
Instead of adding the connection, use \"Create new SQL Server Database\". Enter your server name and a random name for the new DB, e.g. \"test\".
Assuming this succeeds, open Server Explorer in VS, locate the connection in Data Connections, right-click it and select Modify Connection.
Change \"test\" (from step 1) to the name of the existing database you want to connect to. Click \"Test Connection\". This time it should work!
Delete the temporary database you created in step 1.
回答22:
I have one more solution, I think.
I recently had changed my computer name so, after I couldn\'t connect still after trying all above methods.
I changed the Server name..
Server name => (browse for more) => under database engine, a new server was found same as computers new name.
This worked, and life is good again.
回答23:
I struggled for ages on this one before I realized my error - I had used commas instead of semicolons in the connect string
回答24:
I had this issue but none of the suggestions above fixed it.
I was seeing this issue when I deployed my website to IIS. The fix was to go into advanced settings against the default app pool and change the identity property from the default to Administrator.
回答25:
In my case,
I opened SQL Server Management Studio and searched for SQLEXPRESS in my Database engine.
It had two instances and I selected the correct one.
回答26:
For me it was a Firewall issue.
First you have to add the port (such as 1444 and maybe 1434) but also
C:\\Program Files (x86)\\Microsoft SQL Server\\90\\Shared\\sqlbrowser.exe
and
%ProgramFiles%\\Microsoft SQL Server\\MSSQL12.SQLEXPRESS\\MSSQL\\Binn\\SQLAGENT.EXE
The second time I got this issue is when I came back to the firewall, the paths were not correct and I needed to update form 12 to 13! Simply clicking on browse in the Programs and Services tab helped to realise this.
Finally, try running the command
EXEC xp_readerrorlog 0,1,\"could not register the Service Principal Name\",Null
For me, it returned the error reason
回答27:
I tried pretty much everything on this page but I had some underlying issues which were actually what needed to be resolved. I was unable to do certain things like open SQL Server Configuration Manager, which ended up being corrupt/missing WMI provider files.
There are lots of tedious ways to resolve this issues according to what I\'ve read, but the tool from tweaking.com was able to remove and replace/repair my WMI (Windows Management Instrumentation) Provider files.
I used to do computer repair and overall the tweaking.com tool really impressed me, and it was suggested from one of the WMI error forum pages I went to.
After I fixed this issue I was able to connect to my SQL db, both locally and remotely.
Hope this helps someone.