ChatGPT解决这个技术问题 Extra ChatGPT

How to connect to local instance of SQL Server 2008 Express

I just installed SQL Server 2008 Express on my Vista SP1 machine. I previously had 2005 on here and used it just fine with the old SQL Server Management Studio Express. I was able to connect with no problems to my PC-NAME\SQLEXPRESS instance (no, PC-NAME is not my computer name ;-).

I uninstalled 2005 and SQL Server Management Studio Express. I then installed SQL Server 2008 Express on my machine and elected to have it install SQL Server Management Studio Basic.

Now, when I try to connect to PC-NAME\SQLEXPRESS (with Windows Authentication, like I always did), I get the following message:

Cannot connect to PC-NAME\SQLEXPRESS. 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) (Microsoft SQL Server, Error: -1) For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=-1&LinkId=20476

When I installed SQL Server 2008, I had it use SQLEXPRESS as the local instance name. As far as I can tell, through SQL Server Configuration Manager, SQL Server is configured to allow remote connections.

When I went to the help link it mentions, the help page suggests the following:

Make sure that the SQL Server Browser service is started on the server.

Use the SQL Server Surface Area Configuration tool to enable SQL Server to accept remote connections. For more information about the SQL Server Surface Area Configuration Tool, see Surface Area Configuration for Services and Connections.

Well, as far as I can tell, there is no SQL Server Browser service on my system (looked in MMC for one, couldn't find one).

And the SQL Server Surface Area Configuration tool doesn't exist in SQL Server 2008. So good job there with your help documentation, Microsoft ;-).

I'm at a loss for what to do right now. I had a lot of work I was hoping to get done today after upgrading to 2008 (the person I'm working with got it up and running with no problem and told me it would be easy - he's also far better with database stuff that I am). Does anyone have any idea what might be wrong? I'd really appreciate it. If I can't get this working in a few hours, I'm going back to SQL Server 2005 (if that will even work, gah...).

Edit: I have tried turning Windows Firewall off, and that did not help. Also, I noticed that I do not have a "Data" directory under my SQL Server 2008 install directory tree - could I have possibly set something up wrong when I installed it?


A
Aaron Bertrand

Please check the ServerName which you provided. It should match with the below shown Name in the UserName textbox, and that name should followed with \SQLEXPRESS:

https://i.stack.imgur.com/6Dqbk.png


This question is 2 years old, but this is what helped me. I didn't know I needed the computer name before the \SQLEXPRESS
I understand this question is quite old but I found this after much frustration. I feel the error message should make this suggestion instead of giving useless information :(
Thanks you! The domain name was what I really needed.
can't believe the dropdown box is prepopulated with only SQLEXPRESS whtn that doesn't work
Thank you, make sure you notice that is made by "Your computer name"\SQLEXPRESS
a
anataliocs

Start your Local SQL Server Service

Start SQL Config Manager: Click Start -> Microsoft SQL Server 2008 R2 -> SQL Server Configuration Manager

Start SQL Services: Set the SQL Server (SQLEXPRESS) and SQL Server Browser services to automatic start mode. Right-click each service -> Properties -> Go into the Service Tab

This will ensure they start up again if you restart your computer. Please check to ensure the state is "Running" for both services.

https://i.stack.imgur.com/lO2tA.jpg

Login and authenticate with your Local SQL Server

Now open up SQL Server Management Studio and click "Connect to Object Explorer" and select Server Name:

[Your PC name]\SQLEXPRESS

Example: 8540P-KL\SQLEXPRESS or (localhost)\SQLEXPRESS

To find your PC name: Right click My Computer -> Properties -> Computer Name tab

Alternative: Login using windows authentication: Using the user name [Your Domain]/[Your User Name]

https://i.stack.imgur.com/Bptt6.png

Setup User Account

Create a new Login acct: In SQL Mgmt Studio -> Expand your local Server -> Security -> Right click on Logins -> New Login

Set Password settings on New User Account: Uncheck Enforce password policy, password expiration and user must change pw(Since this is local) Default database -> Your Database

Grant roles to New User Account: User Mapping Page -> Map to your db and grant db_owner role Status Page -> Grant Permission to connect and Enable Login

https://i.stack.imgur.com/jBo4B.png

Setup Access Permissions/Settings for User

Enable all auth modes: Right click your Local Server -> Properties -> Security Tab -> Enable SQL Server and Windows Authentication Mode

Enable TCP/IP: Open SQL Server Configuration Manager -> SQL Server Network Configuration -> Protocols for SQLEXPRESS -> Enable TCP/IP

Restart SQL Server Service: You will have to restart the SQL Server(SQLEXPRESS) after enabling TCP/IP

https://i.stack.imgur.com/rlmgE.png

Database Properties File for Spring Project

database.url=jdbc:jtds:sqlserver://[local PC Computer name];instance=SQLEXPRESS;DatabaseName=[db name];

database.username=[Your user name] database.password=[Your password]

database.driverClassName=net.sourceforge.jtds.jdbc.Driver

If you want to view larger screen shots and better formatting of the answer with more details please view the blog article below: Setting up a Local Instance of SQL Server 2008 Blog Post:


Thank you. This helped bunches
Thank you so much! This is really helpful even for 2014 version!!
As this answer indicates, if you don't see SQL Server 2014 Configuration Manager (whatever year) when you search for "configuration manager" at Start... then you likely DON'T have a valid SQL Server instance installed.
佚名

I used (LocalDB)\MSSQLLocalDB as the server name, I was then able to see all the local databases.


Worked well with VS 2015 on Windows 10 64Bit. Thanks
worked using SSMS 2014. But I suspect this depends on having run a .NET web app that would have installed/created this local server.
That is the LocalDB that gets installed with Visual Studio, not SQL Server Express. This answer is helpful for people who are actually looking for that but the distinction is important if you need to access SQL Express instead, or making a database on SQL Express to make use of features LocalDB doesn't support like Full Text Search
Thank you for the clarification IronSean
R
Rob

Haha, oh boy, I figured it out. Somehow, someway, I did not install the Database Engine when I installed SQL Server 2008. I have no idea how I missed that, but that's what happened.


how could i check if the database engine is installed ? wouldn't it be installed automatically ?
In my case, I forgot to install Client Tools Connectivity, but it's just another check box on the "Features" page during installation. Anyway, you pointed me in the right direction. Thanks.
In my case, while installing sql server i did not get Database engine servie.While installing i have 3 options 1.Instane Fetaure (with out any check box underneth) 2. Shred feature (with 2 cehckboxes) 3.Redistribute Features. Let me know why i did get Database Engine Serivce.
i had this problem as well. the download page is somewhat cryptic. make sure you download the actual server program instead of the management interface or one of the other choices that has no server components.
c
capn

I know this question is old, but in case it helps anyone make sure the SQL Server Browser is running in the Services MSC. I installed SQL Server Express 2008 R2 and the SQL Server Browser Service was set to Disabled.

Start->Run->Services.msc Find "SQL Server Browser"->Right Click->Properties Set Startup Type to Automatic->Click Apply Retry your connection.


that was it for my problems with connection. I was able worn on management studio, but from app server was invisible :) thanks !
This was it for me except it was the SQL Server Agent that wasn't started - I'd turned it off because it consumes too many resources when i'm not using it.
W
WhatEvil

I've just solved a problem related to this which may help other people.

Initially when loading up MSSMSE it had the server as PC_NAME\SQLEXPRESS and when I tried to connect it gave me Error: 26 - Error Locating Server/Instance Specified, so I went into SQL Server Configuration Manager to check if my SQL Server Browser and SQL Server services were running and set to automatic, only to find that instead of saying SQL Server (SQLEXPRESS) it says SQL Server(MSSQLSERVER).

I then tried connecting to PC-NAME\MSSQLSERVER and this time got SQL Network Interfaces, error: 25 - Connection string is not valid) (MicrosoftSQL Server, Error: 87) The parameter is incorrect so I googled this error and found that somebody had suggested that instead of using PC-NAME\MSSQLSERVER just use PC-NAME as the Server Name at the server connection interface, and this seems to work.

There's a link here http://learningsqlserver.wordpress.com/2011/01/21/what-version-of-sql-server-do-i-have/ which explains that MSSQLSERVER is the default instance and can be connected to by using just your hostname.

I think this may have arisen because I've had SQL Server 2008 installed at some point in the past.


You are correct: "just use PC-NAME (put your pc name here) as the Server Name at the Server connection interface". It works.
M
MkUltra

Under Configuration Manager and Network Configuration and Protocols for your instance is TCP/IP Enabled? That could be the problem.


you also have to enable the "sa" account and give it a password because its disabled by default. also you probably need to enable SQL Authentication because its "nt auth only" by default.
T
Tharif
var.connectionstring = "server=localhost; database=dbname; integrated security=yes"

or

var.connectionstring = "server=localhost; database=dbname; login=yourlogin; pwd=yourpass"

g
gbartusk

For me, I was only able to get it to work by using "." in the server name field; was banging away for awhile trying different combos of the user name and server name. Note that during install of the server (ie this file: SQLEXPR_x64_ENU.exe) i checked default instance which defaults the name to MSSQLSERVER; the above high voted answers might be best used for separate named (ie when you need more than 1) server instances.

both of these videos helped me out:

use dot for server name: https://www.youtube.com/watch?v=DLrxFXXeLFk

general setup: https://www.youtube.com/watch?v=vng0P8Gfx2g


A
Artyom Pranovich

One of the first things that you should check is that the SQL Server (MSSQLSERVER) is started. You can go to the Services Console (services.msc) and look for SQL Server (MSSQLSERVER) to see that it is started. If not, then start the service.

You could also do this through an elevated command prompt by typing net start mssqlserver.


H
Hakan Yildizhan

For me it was a windows firewall issue. Allow incoming connections. Opening port didn't work but allow programs did.

Link

Link2