Sql server 2008 ошибка 18456

By default login failed error message is nothing but a client user connection has been refused by the server due to mismatch of login credentials. First task you might check is to see whether that user has relevant privileges on that SQL Server instance and relevant database too, thats good. Obviously if the necessary prvileges are not been set then you need to fix that issue by granting relevant privileges for that user login.

Althought if that user has relevant grants on database & server if the Server encounters any credential issues for that login then it will prevent in granting the authentication back to SQL Server, the client will get the following error message:

Msg 18456, Level 14, State 1, Server <ServerName>, Line 1
Login failed for user '<Name>'

Ok now what, by looking at the error message you feel like this is non-descriptive to understand the Level & state. By default the Operating System error will show ‘State’ as 1 regardless of nature of the issues in authenticating the login. So to investigate further you need to look at relevant SQL Server instance error log too for more information on Severity & state of this error. You might look into a corresponding entry in log as:

2007-05-17 00:12:00.34 Logon     Error: 18456, Severity: 14, State: 8.
or

2007-05-17 00:12:00.34 Logon     Login failed for user '<user name>'.

As defined above the Severity & State columns on the error are key to find the accurate reflection for the source of the problem. On the above error number 8 for state indicates authentication failure due to password mismatch. Books online refers: By default, user-defined messages of severity lower than 19 are not sent to the Microsoft Windows application log when they occur. User-defined messages of severity lower than 19 therefore do not trigger SQL Server Agent alerts.

Sung Lee, Program Manager in SQL Server Protocols (Dev.team) has outlined further information on Error state description:The common error states and their descriptions are provided in the following table:

ERROR STATE       ERROR DESCRIPTION
------------------------------------------------------------------------------
2 and 5           Invalid userid
6                 Attempt to use a Windows login name with SQL Authentication
7                 Login disabled and password mismatch
8                 Password mismatch
9                 Invalid password
11 and 12         Valid login but server access failure
13                SQL Server service paused
18                Change password required


Well I'm not finished yet, what would you do in case of error:

2007-05-17 00:12:00.34 Logon     Login failed for user '<user name>'.

You can see there is no severity or state level defined from that SQL Server instance’s error log. So the next troubleshooting option is to look at the Event Viewer’s security log [edit because screen shot is missing but you get the

idea, look in the event log for interesting events].

  • Remove From My Forums
  • Question

  • I installed SQL Server 2008 Developer Edition (10.0.1600.22.080709-1414) on a Windows Vista 32-bit development machine with Windows Authentication Mode only (no SQL Server Authentication).   Since this is a development machine, I saw no need for Mixed Mode when I did the install. 

    The SQL Server Management Studio allows me to login to Analysis Services, Integration Services, Reporting Services, BUT NOT the Database Engine!

    Windows Authentication for the Database Engine gives the following error:

    EventID: 18456
    Login failed for user MYDOMAIN\MYLOGIN’. Reason: Token-based server access validation failed with an infrastructure error. Check for previous errors. [CLIENT: <local machine>]

    The ‘fix’ I have found online is to login as SA in SQL Server Authentication mode & add MYDOMAIN\MYLOGIN as a administrator for the Database Engine.  Unfortunately, I can’t since I didn’t install SQL Server Authentication mode (only Windows Authentication Mode).  It appears my only recourse is to uninstall, then reinstall in Mixed mode, then to login as SA in SQL Server Authentication mode & add MYDOMAIN\MYLOGIN as a administrator for the Database Engine. 

    Before I do so, does anyone know of a better approach?


    Scott D Duncan

Answers

  • Raul, a DBA friend suggested that I login under the network admin account that was used for the initial install, then delete the MYDOMAIN\MYLOGIN Login, and re-add the MYDOMAIN/MYLOGIN Login, which I did and it worked!  I have no idea why this worked.  Thanks for your help.


    Scott D Duncan

    • Marked as answer by

      Wednesday, December 31, 2008 2:42 AM

Updated in July 2020 with a few new states.

I think we’ve all dealt with error 18456, whether it be an application unable to access SQL Server, credentials changing over time, or a user who can’t type a password correctly.

The trick to troubleshooting this error number is that the error message returned to the client or application trying to connect is intentionally vague – the error message is similar for most errors, and the state is always 1. In a few cases, some additional information is included, but for the most part several of these conditions appear the same to the end user. The reason for this is to be careful not to disclose too much information to a would-be attacker.

But this makes troubleshooting hard.

In order to figure out what is really going wrong, you need to have alternative access to the SQL Server and inspect the log for the true state in the error message. I helped our support team just today solve a client’s 18456 issues – once we tracked down the error log and saw that it was state 16, it was easy to determine that their login had been set up with a default database that had been detached long ago.

When I see folks struggling with this problem, I almost always see them pointed to this old MSDN blog post (or this other version from MSDN), which has a very brief partial list and a lot of unanswered questions. A newer list appears here, with some useful info, but it is still incomplete.

So here is what I consider a more complete listing of all the various states for login failures. I included an instance of 18470 under state 1 for completeness.

State Example / Description
(note: the verbose message usually has [CLIENT: <IP>] suffix)
1 Error: 18470, Severity: 14, State: 1.
Login failed for user ‘<x>’.
Reason: The account is disabled.
State 1 now occurs when a login is disabled – but actually, the error in the log is 18470, not 18456 – because the login is disabled, it doesn’t get that far. See state 7.Prior to SQL Server 2005, State 1 always appeared in the log for all login failures, making for fun troubleshooting. 🙂
2 Error: 18456, Severity: 14, State: 2.
Login failed for user ‘<x>’.
Reason: Could not find a login matching the name provided.
The login (whether using SQL or Windows Authentication) does not exist. For Windows Auth, it likely means that the login hasn’t explicitly been given access to SQL Server – which may mean it is not a member of an appropriate domain group. It could also mean that you’ve created a server-level login, mapped a database user with a different name to that login, and are trying to connect using the user name, not the login name. This is the same as State 5, but State 2 indicates that the login attempt came from a remote machine.
5 Error: 18456, Severity: 14, State: 5.
Login failed for user ‘<x>’.
Reason: Could not find a login matching the name provided.
Like state 2, the login does not exist in SQL Server, but the login attempt came from the local machine. For both state 2 and 5, prior to SQL Server 2008, the reason was not included in the error log – just the login failed message. And starting in Denali, for both state 2 and 5, this error can happen if you specify the correct username and password for a contained database user, but the wrong (or no) database. Note that if you are trying to connect to a contained database using the connection dialog in SSMS, and you try to <Browse server…> for the database instead of typing the name explicitly, you will first receive a prompt «Browsing the available databases on the server requires connecting to the server. This may take a few moments. Would you like to continue?» If the SQL auth credentials do not also match a login at the server level, you will then receive an error message, because your contained user does not have access to master.sys.databases. The error message in the UI is, «Failed to connect to server <server>. (Microsoft.SqlServer.ConnectionInfo)Login failed for user ‘<x>’. (Microsoft SQL Server, Error: 18456).» The takeaway here: always specify the database name explicitly in the options tab of the connection dialog; do not use the browse feature.
6 Error: 18456, Severity: 14, State: 6.
Login failed for user ‘<x\y>’.
Reason: Attempting to use an NT account name with SQL Server Authentication.
This means you tried to specify SQL authentication but entered a Windows-style login in the form of Domain\Username. Make sure you choose Windows Authentication (and you shouldn’t have to enter your domain / username when using Win Auth unless you are using runas /netonly to launch Management Studio). In SQL Server 2012 at least, you will only get state 6 if the domain\username format matches an actual domain and username that SQL Server recognizes. If the domain is invalid or if the username isn’t an actual Windows account in that domain, it will revert to state 5 (for local attempts) or state 2 (for remote attempts), since the login doesn’t exist.
7 Error: 18456, Severity: 14, State: 7.
Login failed for user ‘<x>’.
Reason: An error occurred while evaluating the password.
The login is disabled *and* the password is incorrect. This shows that password validation occurs first, since if the password is correct and the login is disabled, you get error 18470 (see state 1 above). It’s possible that your application is sending cached credentials and the password has been changed or reset in the meantime – you may try logging out and logging back in to refresh these credentials.
8 Error: 18456, Severity: 14, State: 8.
Login failed for user ‘<x>’.
Reason: Password did not match that for the login provided.

Probably the simplest of all: the password is incorrect (cASe sEnsiTiVitY catches a lot of folks here). Note that it will say «the login provided» even if you attempted to connect as a contained database user but forgot to specify a database, specified the wrong database, or typed the password incorrectly – unless it finds a match, SQL Server doesn’t have any idea you were attempting to use a contained database user.

An interesting case here is Docker containers – docker run will allow you to spin up a container and specify an SA_PASSWORD with certain special characters, like $. However, you will never be able to connect to the container with that password. If you use non-alphanumerics, stick to slightly more benign characters like # and *.

9 Error: 18456, Severity: 14, State: 9.
Login failed for user ‘<x\y>’.
Like state 2, I have not seen this in the wild. It allegedly means that the password violated a password policy check, but I tried creating a login conforming to a weak password policy, strengthened the policy, and I could still log in fine. And obviously you can’t create a login with, or later set, a password that doesn’t meet the policy. Let me know if you’ve seen it.
10 Error: 18456, Severity: 14, State: 10.
Login failed for user ‘<x>’.
This is a rather complicated variation on state 9; as KB #925744 states, this means that password checking could not be performed because the login is disabled or locked on the domain controller (note that if SQL Server does not start, it could be because the account that is locked or disabled is the SQL Server service account). No reason or additional information is provided in the «verbose» message in the error log.
11
12
Error: 18456, Severity: 14, State: 11.
Login failed for user ‘<x>’.
Reason: Login-based server access validation failed with an infrastructure error. Check for previous errors.

 Error: 18456, Severity: 14, State: 12.
Login failed for user ‘<x>’.
Reason: Token-based server access validation failed with an infrastructure error. Check for previous errors.

States 11 and 12 mean that SQL Server was able to authenticate you, but weren’t able to validate with the underlying Windows permissions. It could be that the Windows login has no profile or that permissions could not be checked due to UAC. Try running SSMS as administrator and/or disabling UAC. Another reason could be that the domain controller could not be reached. You may need to resort to re-creating the login (see this post from Simon Sabin). Finally, PSS has recently released more information about states 11 and 12; see this post for potential scenarios and solutions, and also see states 146-149 below for changes in SQL Server 2016.
13 Error: 18456, Severity: 14, State: 13.
Login failed for user ‘<x>’.
Reason: SQL Server service is paused. No new connections can be accepted at this time.
This state occurs when the SQL Server service has been paused (which you can do easily and even accidentally from the context menu in Object Explorer).
16 Error: 18456, Severity: 14, State: 16.
Login failed for user ‘<x>’.

 You may also see:

 A connection was successfully established with the server, but then an error occurred during the pre-login handshake.

State 16, which only occurs prior to SQL Server 2008, means that the default database was inaccessible. This could be because the database has been removed, renamed, or is offline (it may be set to AutoClose). This state does not indicate a reason in the error log. In 2008 and beyond, this is reported as state 40 (see below), with a reason. In SQL Server 2005, this state may also be reported if the user’s default database is online but the database they explicitly requested is not available for the reasons stated above (also see state 27). If you get the pre-login handshake message, it may be because you’ve disabled SSL on the server.
18 Error: 18456, Severity: 14, State: 18.
Login failed for user ‘<x>’.
Supposedly this indicates that the user needs to change their password. In SQL Server 2005, 2008 R2 and SQL Server 2012, I found this was raised as error 18488, not 18456; this is because for SQL logins the change password dialog just delays logging in, and is not actually a login failure. I suspect that, like state 16, this state will no longer appear in future versions of SQL Server.
23 Error: 18456, Severity: 14, State: 23.
Login failed for user ‘<x>’.
Reason: Access to server validation failed while revalidating the login on the connection.
There could be a few reasons for state 23. The most common one is that connections are being attempted while the service is being shut down. However if this error occurs and it is not surrounded in the log by messages about SQL Server shutting down, and there is no companion reason along with the message, I would look at KB #937745, which implies that this could be the result of an overloaded server that can’t service any additional logins because of connection pooling issues. Finally, if there *is* a companion reason, it may be the message indicated to the right, indicating that SQL Server was running as a valid domain account and, upon restarting, it can’t validate the account because the domain controller is offline or the account is locked or no longer valid. Try changing the service account to LocalSystem until you can sort out the domain issues.
27 Error: 18456, Severity: 14, State: 27.
Login failed for user ‘<x>’.
State 27, like state 16, only occurs prior to SQL Server 2008. It means that the database specified in the connection string has been removed, renamed, or is offline (possibly due to AutoClose) – though in every case I tried, it was reported as state 16. This state does not indicate a reason in the error log. In 2008 and onward this is reported as state 38 (see below), with a reason.
28 Error: 18456, Severity: 14, State: 28.
Login failed for user ‘<x>’.
I have not experienced this issue but I suspect it involves overloaded connection pooling and connection resets. I think you will only see state 28 prior to SQL Server 2008.
38 Error: 18456, Severity: 14, State: 38.
Login failed for user ‘<x>’.
Reason: Failed to open the database specified in the login properties.

 or

 Reason: Cannot open database «<database>» requested by the login. The login failed.

The database specified in the connection string, or selected in the Options > Connection Properties tab of the SSMS connection dialog, is no longer valid or online (it might be set to AutoClose or the user may simply not have permission). I came across this once when I typed <default> here instead of picking that option from the list. This is reported as state 27 or state 16 prior to SQL Server 2008.

 Note that this could also be a symptom of an orphaned login. After establishing mirroring, Availability Groups, log shipping, etc. you may have created a new login or associated a user with a login on the primary database. The database-level user information gets replayed on the secondary servers, but the login information does not. Everything will work fine – until you have a failover. In this situation, you will need to synchronize the login and user information (for one example, see this script from the late Robert Davis).

40 Error: 18456, Severity: 14, State: 40.
Login failed for user ‘<x>’.
Reason: Failed to open the explicitly specified database.
Usually this means the login’s default database is offline (perhaps due to AutoClose) or no longer exists. Resolve by fixing the missing database, or changing the login’s default database using ALTER LOGIN (for older versions, use sp_defaultdb, which is now deprecated). This is reported as state 16 prior to SQL Server 2008.
46 Error: 18456, Severity: 14, State: 46.
Login failed for user ‘<x>’.
Reason: Failed to open the database configured in the login object while revalidating the login on the connection.
State 46 may occur when the login (or login mapping to the service account) does not have a valid database selected as their default database. (I am guessing here but I think this may occur when the login in question is attempting to perform log shipping. Again, just a guess based on the few conversations I discovered online.) It can also occur if the classifier function (Resource Governor) or a logon trigger refers to a database that is offline, no longer exists, or is set to AutoClose.
50 Error: 18456, Severity: 14, State: 50.
Login failed for user ‘<x>’.
Reason: Current collation did not match the database’s collation during connection reset.
As the message implies, this can occur if the default collation for the login is incompatible with the collation of their default database (or the database explicitly specified in the connection string). It can also happen if they are using a client tool like Management Studio which may, when they have been disconnected, try to connect to master upon reconnection instead of their default database.
51 Error: 18456, Severity: 14, State: 51.
Login failed for user ‘<x>’.
Reason: Failed to send an environment change notification to a log shipping partner node while revalidating the login.
Like states 11 & 12, this could have to do with UAC, or that the domain controller could not be reached, or that the domain account could not authenticate against the log shipping partner, or that the log shipping partner was down. Try changing the service account for SQL Server to a known domain or local account, rather than the built-in local service accounts, and validating that the partner instance is accessible, as well as the database that is being requested in the connection string and the default database of the login. Note that this could be trigged by the failover partner connection string attribute, and that the database may no longer exist or may be offline, single user, etc.
56 Error: 18456, Severity: 14, State: 56.
Login failed for user ‘<x>’.
Reason: Failed attempted retry of a process token validation.
State 56 is not very common – again, like states 11 & 12, this could have to do with UAC, or that the domain controller could not be reached. Try changing the service account for SQL Server to a known domain or local account, rather than the built-in local service accounts.
58 Error: 18456, Severity: 14, State: 58.
Login failed for user ‘<x>’.
Reason: An attempt to login using SQL authentication failed. Server is configured for Windows authentication only.
State 58 occurs when SQL Server is set to use Windows Authentication only, and a client attempts to log in using SQL Authentication. It can also occur when SIDs do not match (in which case the error text might be slightly different).
62 Error: 18456, Severity: 14, State: 62.
Login failed for user ‘<x>’.
State 62 occurs when a Windows Authentication account tries to access a contained database, and the contained database exists, but the SIDs do not match.
65 Error: 18456, Severity: 14, State: 65.
Login failed for user ‘<x>’.
Reason: Password did not match that for the user provided. [Database: ‘<x>’]
Contained user exists, the database is correct, but the password is invalid. This can also happen if you use a SQL login to connect to a contained database that has a contained user with the same name but a different password (one of several reasons this is not recommended).
102
103

110
111
Error: 18456, Severity: 14, State: 102.
Error: 18456, Severity: 14, State: 103.
Error: 18456, Severity: 14, State: 104.
Error: 18456, Severity: 14, State: 105.
Error: 18456, Severity: 14, State: 106.
Error: 18456, Severity: 14, State: 107.
Error: 18456, Severity: 14, State: 108.
Error: 18456, Severity: 14, State: 109.
Error: 18456, Severity: 14, State: 110.
Error: 18456, Severity: 14, State: 111.
Documented by Microsoft as Azure Active Directory login failures.
122
123
124
Error: 18456, Severity: 14, State: 122.
Error: 18456, Severity: 14, State: 123.
Error: 18456, Severity: 14, State: 124.
According to Microsoft, these indicate a blank or missing username and/or password.
126 Error: 18456, Severity: 14, State: 126.
The docs say «Database requested by user does not exist.» But it’s not clear why you would get 126 instead of, say, 38 or 40.
132
133
Error: 18456, Severity: 14, State: 132.
Error: 18456, Severity: 14, State: 133.
Documented by paschott and by Microsoft as Azure Active Directory login failures.
146
147
148
149
Error: 18456, Severity: 14, State: 146.
Login failed for user ‘<Windows auth login>’.
Reason: Token-based server access validation failed with an infrastructure error. Login lacks Connect SQL permission.

 Error: 18456, Severity: 14, State: 147.
Login failed for user ‘<SQL auth login>’.
Reason: Login-based server access validation failed with an infrastructure error. Login lacks Connect SQL permission.

 Error: 18456, Severity: 14, State: 148.
Login failed for user ‘<Windows auth login>’.
Reason: Token-based server access validation failed with an infrastructure error. Login lacks connect endpoint permission.

 Error: 18456, Severity: 14, State: 149.
Login failed for user ‘<SQL auth login>’.
Reason: Login-based server access validation failed with an infrastructure error. Login lacks connect endpoint permission.

These states replace states 11 and 12 above, but only in SQL Server 2016 or better. The goal was to make the actual underlying issue easier for the sysadmin to diagnose between SQL auth and Windows auth logins, and between connect and endpoint permissions (all without giving any further info to the user trying to log in). For more details, see the latter part of this post.

I am sure I missed some, but I hope that is a helpful summary of most of the 18456 errors you are likely to come across. Please let me know if you spot any inaccuracies or if you know of any states (or reasons) that I missed.

If you are using contained databases, there will be a little extra complication in solving login failures, especially if you try to create contained users with the same name as server-level logins. This is a ball of wax you just probably don’t want to get into…

Thanks to Jonathan Kehayias (blog | twitter), Bob Ward (CSS blog | twitter), and Rick Byham for input and sanity checking.

Приветствую.

Имеется MS Windows 2008r2 + SQL Server 2008 Standart. Буквально каждую минуту выскакивает в логах:

Ошибка: 18456, серьезность: 14, состояние: 38.

Login failed for user ‘NT AUTHORITY\система’. Причина: не удалось открыть явно указанную базу данных. [КЛИЕНТ: <local machine>]

Посоветуйте что можно предпринять.

26.02.2013 22:53	Server	Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (X64)    Jul  9 2008 14:17:44    Copyright (c) 1988-2008 Microsoft Corporation   Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)  
26.02.2013 22:53	Server	(c) 2005 Microsoft Corporation.
26.02.2013 22:53	Server	All rights reserved.
26.02.2013 22:53	Server	Server process ID is 3036.
26.02.2013 22:53	Server	System Manufacturer: 'Supermicro', System Model: 'X8DTL'.
26.02.2013 22:53	Server	Authentication mode is MIXED.
26.02.2013 22:53	Server	Logging SQL Server messages in file 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Log\ERRORLOG'.
26.02.2013 22:53	Server	This instance of SQL Server last reported using a process ID of 2084 at 26.02.2013 22:48:57 (local) 26.02.2013 18:48:57 (UTC). This is an informational message only; no user action is required.
26.02.2013 22:53	Server	Registry startup parameters:     -d C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\master.mdf    -e C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Log\ERRORLOG    -l C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\mastlog.ldf
26.02.2013 22:53	Сервер	SQL Server is starting at high priority base (=13). This is an informational message only. No user action is required.
2013-02-26 22:53:50.030	Сервер	Detected 8 CPUs. This is an informational message; no user action is required.
26.02.2013 22:53	Сервер	Using dynamic lock allocation.  Initial allocation of 2500 Lock blocks and 5000 Lock Owner blocks per node.  This is an informational message only.  No user action is required.
26.02.2013 22:53	Сервер	Node configuration: node 0: CPU mask: 0x00000000000000f0 Active CPU mask: 0x00000000000000f0. This message provides a description of the NUMA configuration for this computer. This is an informational message only. No user action is required.
26.02.2013 22:53	Сервер	Node configuration: node 1: CPU mask: 0x000000000000000f Active CPU mask: 0x000000000000000f. This message provides a description of the NUMA configuration for this computer. This is an informational message only. No user action is required.
26.02.2013 22:53	spid9s	Starting up database 'master'.
2013-02-26 22:54:00.060	spid9s	FILESTREAM: effective level = 0, configured level = 0, file system access share name = 'MSSQLSERVER'.
26.02.2013 22:54	spid9s	SQL Trace ID 1 was started by login "sa".
26.02.2013 22:54	spid9s	Starting up database 'mssqlsystemresource'.
26.02.2013 22:54	spid9s	The resource database build version is 10.00.1600. This is an informational message only. No user action is required.
26.02.2013 22:54	spid9s	Server name is 'DB-SERVER'. This is an informational message only. No user action is required.
26.02.2013 22:54	spid13s	Starting up database 'model'.
26.02.2013 22:54	spid13s	Clearing tempdb database.
26.02.2013 22:54	Сервер	The certificate [Cert Hash(sha1) "CF7471551E1B99869882FFB6E7278B98631B5F6D"] was successfully loaded for encryption.
2013-02-26 22:54:01.030	Сервер	Server is listening on [ 'any' <ipv6> 1433].
2013-02-26 22:54:01.030	Сервер	Server is listening on [ 'any' <ipv4> 1433].
2013-02-26 22:54:01.040	Сервер	Server local connection provider is ready to accept connection on [ \\.\pipe\SQLLocal\MSSQLSERVER ].
2013-02-26 22:54:01.040	Сервер	Server local connection provider is ready to accept connection on [ \\.\pipe\sql\query ].
2013-02-26 22:54:01.040	Сервер	Server is listening on [ ::1 <ipv6> 1434].
2013-02-26 22:54:01.040	Сервер	Server is listening on [ 127.0.0.1 <ipv4> 1434].
2013-02-26 22:54:01.040	Сервер	Dedicated admin connection support was established for listening locally on port 1434.
26.02.2013 22:54	Сервер	The SQL Server Network Interface library successfully registered the Service Principal Name (SPN) [ MSSQLSvc/db-server.krasnobor-tula.local ] for the SQL Server service. 
26.02.2013 22:54	Сервер	The SQL Server Network Interface library successfully registered the Service Principal Name (SPN) [ MSSQLSvc/db-server.krasnobor-tula.local:1433 ] for the SQL Server service. 
26.02.2013 22:54	Сервер	SQL Server is now ready for client connections. This is an informational message; no user action is required.
26.02.2013 22:54	spid13s	Starting up database 'tempdb'.
26.02.2013 22:54	Вход	Ошибка: 18456, серьезность: 14, состояние: 38.
26.02.2013 22:54	Вход	Login failed for user 'sqladmin'. Причина: не удалось открыть явно указанную базу данных. [КЛИЕНТ: fe80::2d9d:3a04:8101:bb5a%13]
26.02.2013 22:54	spid16s	The Service Broker protocol transport is disabled or not configured.
26.02.2013 22:54	spid16s	The Database Mirroring protocol transport is disabled or not configured.
26.02.2013 22:54	spid16s	Service Broker manager has started.
26.02.2013 22:54	Вход	Ошибка: 18456, серьезность: 14, состояние: 38.
26.02.2013 22:54	Вход	Login failed for user 'NT AUTHORITY\система'. Причина: не удалось открыть явно указанную базу данных. [КЛИЕНТ: <local machine>]
26.02.2013 22:54	Вход	Ошибка: 18456, серьезность: 14, состояние: 38.
26.02.2013 22:54	Вход	Login failed for user 'NT AUTHORITY\система'. Причина: не удалось открыть явно указанную базу данных. [КЛИЕНТ: <local machine>]
26.02.2013 22:54	Вход	Ошибка: 18456, серьезность: 14, состояние: 38.
26.02.2013 22:54	Вход	Login failed for user 'sqladmin'. Причина: не удалось открыть явно указанную базу данных. [КЛИЕНТ: 192.168.15.5]
26.02.2013 22:54	spid12s	A new instance of the full-text filter daemon host process has been successfully started.
26.02.2013 22:54	spid20s	Starting up database 'utka'.
26.02.2013 22:54	spid22s	Starting up database 'uat'.
26.02.2013 22:54	spid24s	Starting up database 'do'.
26.02.2013 22:54	spid23s	Starting up database 'zup'.
26.02.2013 22:54	spid12s	Starting up database 'msdb'.
26.02.2013 22:54	spid25s	Starting up database 'ptic1'.
26.02.2013 22:54	spid19s	Starting up database 'zakazy'.
26.02.2013 22:54	spid27s	Starting up database 'do_copy'.
26.02.2013 22:54	spid21s	Starting up database 'ptichka'.
26.02.2013 22:54	spid26s	Starting up database 'krn'.
26.02.2013 22:54	spid28s	Starting up database 'zik'.
26.02.2013 22:54	spid29s	Starting up database 'zikn'.
26.02.2013 22:54	spid19s	Recovery is writing a checkpoint in database 'zakazy' (6). This is an informational message only. No user action is required.
26.02.2013 22:54	Вход	Ошибка: 18456, серьезность: 14, состояние: 38.
26.02.2013 22:54	Вход	Login failed for user 'NT AUTHORITY\система'. Причина: не удалось открыть явно указанную базу данных. [КЛИЕНТ: <local machine>]
26.02.2013 22:54	Вход	Ошибка: 18456, серьезность: 14, состояние: 38.
26.02.2013 22:54	Вход	Login failed for user 'sqladmin'. Причина: не удалось открыть явно указанную базу данных. [КЛИЕНТ: 192.168.15.5]
26.02.2013 22:54	Вход	Ошибка: 18456, серьезность: 14, состояние: 38.
26.02.2013 22:54	Вход	Login failed for user 'NT AUTHORITY\система'. Причина: не удалось открыть явно указанную базу данных. [КЛИЕНТ: <local machine>]
2013-02-26 22:54:38.090	Вход	Ошибка: 18456, серьезность: 14, состояние: 38.
2013-02-26 22:54:38.090	Вход	Login failed for user 'sqladmin'. Причина: не удалось открыть явно указанную базу данных. [КЛИЕНТ: 192.168.15.5]
26.02.2013 22:54	Вход	Ошибка: 18456, серьезность: 14, состояние: 38.
26.02.2013 22:54	Вход	Login failed for user 'sqladmin'. Причина: не удалось открыть явно указанную базу данных. [КЛИЕНТ: 192.168.15.5]
26.02.2013 22:54	Вход	Ошибка: 18456, серьезность: 14, состояние: 38.
26.02.2013 22:54	Вход	Login failed for user 'sqladmin'. Причина: не удалось открыть явно указанную базу данных. [КЛИЕНТ: 192.168.15.5]
26.02.2013 22:54	Вход	Ошибка: 18456, серьезность: 14, состояние: 38.
26.02.2013 22:54	Вход	Login failed for user 'sqladmin'. Причина: не удалось открыть явно указанную базу данных. [КЛИЕНТ: 192.168.15.5]
26.02.2013 22:54	Вход	Ошибка: 18456, серьезность: 14, состояние: 38.
26.02.2013 22:54	Вход	Login failed for user 'NT AUTHORITY\система'. Причина: не удалось открыть явно указанную базу данных. [КЛИЕНТ: <local machine>]
26.02.2013 22:55	Вход	Ошибка: 18456, серьезность: 14, состояние: 38.
26.02.2013 22:55	Вход	Login failed for user 'NT AUTHORITY\система'. Причина: не удалось открыть явно указанную базу данных. [КЛИЕНТ: <local machine>]
26.02.2013 22:55	spid9s	Recovery is complete. This is an informational message only. No user action is required.
26.02.2013 22:55	spid57	Attempting to load library 'xpsqlbot.dll' into memory. This is an informational message only. No user action is required.
26.02.2013 22:55	spid57	Using 'xpsqlbot.dll' version '2007.100.1600' to execute extended stored procedure 'xp_qv'. This is an informational message only; no user action is required.
2013-02-26 22:55:59.020	spid57	Attempting to load library 'xpstar.dll' into memory. This is an informational message only. No user action is required.
2013-02-26 22:55:59.060	spid57	Using 'xpstar.dll' version '2007.100.1600' to execute extended stored procedure 'xp_instance_regread'. This is an informational message only; no user action is required.
26.02.2013 22:55	spid57	Attempting to load library 'xplog70.dll' into memory. This is an informational message only. No user action is required.
26.02.2013 22:55	spid57	Using 'xplog70.dll' version '2007.100.1600' to execute extended stored procedure 'xp_msver'. This is an informational message only; no user action is required.
26.02.2013 22:56	Вход	Ошибка: 18456, серьезность: 14, состояние: 38.
26.02.2013 22:56	Вход	Login failed for user 'NT AUTHORITY\система'. Причина: не удалось открыть явно указанную базу данных. [КЛИЕНТ: <local machine>]
26.02.2013 22:57	Вход	Ошибка: 18456, серьезность: 14, состояние: 38.
26.02.2013 22:57	Вход	Login failed for user 'NT AUTHORITY\система'. Причина: не удалось открыть явно указанную базу данных. [КЛИЕНТ: <local machine>]
26.02.2013 22:58	Вход	Ошибка: 18456, серьезность: 14, состояние: 38.
26.02.2013 22:58	Вход	Login failed for user 'NT AUTHORITY\система'. Причина: не удалось открыть явно указанную базу данных. [КЛИЕНТ: <local machine>]
26.02.2013 22:59	Вход	Ошибка: 18456, серьезность: 14, состояние: 38.
26.02.2013 22:59	Вход	Login failed for user 'NT AUTHORITY\система'. Причина: не удалось открыть явно указанную базу данных. [КЛИЕНТ: <local machine>]

I have a Visual Studio C++ project (unmanaged C++) in which I try to connect to a SQL Server 2008 instance on another machine in the LAN. I use TCP/IP. My connection string is:

"DRIVER={SQL Server Native Client 10.0};Server=tcp:169.254.204.232,1433;Network Library=DBMSSOCN;Initial Catalog=myDB;User ID=myDBUser;Password=myPassword;"

Important fact: I am able to successfully connect remotely to that instance with user id myDBUser and password myPassword using SSMS — using SQL Authentication mode (and specifying TCP/IP in the connection options)! Also, once logged in I can successfully navigate the database myDB.

So yes, I have enabled Mixed mode authentication on my server.

Also note that the same code was successfully connecting when my instance was local and I was using Windows Authentication. In other words, what changed since this whole thing last worked is that I moved my server to another machine, am now using SQL Authentication, and therefore changed my connection string — the code has otherwise not changed at all.

Here is the error message I get in my SQL Server 2008 instance’s Server Logs:

Login failed for user «. Reason: An attempt to login using SQL Authentication failed. Server is configured for Windows Authentication only.
Error: 18456, Severity: 14, State: 58.

Notice that the user being quoted in that error message is blank, even though in my connection string I specify a non-blank user ID.

Other connection strings I tried that give the same result:

"DRIVER={SQL Server Native Client 10.0};Server=MACHINE2;Database=myDB;User ID=myDBUser;Password=myPassword;" (where MACHINE2 is the windows name of the machine hosting the sql server instance.)

I do not specify an instance name in the above connection string because my instance is installed as the default instance, not a named instance.

Any ideas on how to solve this?

UPDATE: I solved this problem it seems. Are you ready to find out how silly and totally unrelated that error message was?
In the connection string, I just changed «User ID» to «uid» and «Password» to «pwd», and now it works.
I now see «Connected successfully» in my SQL Server logs…

Понравилась статья? Поделить с друзьями:
  • Sql server management studio журнал ошибок
  • Sql server 2008 r2 ошибка 233
  • Spore выдает ошибку 1004
  • Sql server 2005 ошибка 1603
  • Spn118 ошибка камаз