Login failed for user 'sa'

Posted on 2004-09-26
Last Modified: 2008-02-01
I am following a example in a book.  It is dealing with ASP, which covers this area well, but gives very little explanatin on installing sql 2000

I am using msde version, and installed it, it did not ask for a user, and so I am using the default - where do I go to check the user

with the asp snippet as such:
objConn.Open "Provider=SQLOLEDB;Persist Security Info=False;" & _
               "User ID=sa;Initial Catalog=Movie;" & _
               "Initial File Name=C:\MSSQL7\Database\Movie2000.mdf"

Error Type:
Microsoft OLE DB Provider for SQL Server (0x80004005)
Login failed for user 'sa'. Reason: Not associated with a trusted SQL Server connection.

i really do not know where to go to fix this
Question by:sahrom
  • 4
  • 3
  • 2
  • +1
LVL 75

Expert Comment

by:Anthony Perkins
ID: 12155808
Use this connection string:
objConn.Open "Provider=SQLOLEDB.1;Password="";User ID=sa;Initial Catalog=Movie;Data Source=YourServerNameGoesHere"

Author Comment

ID: 12155878
thank you very much for your reply

I now get the following error

Error Type:
ADODB.Connection (0x800A0BB9)
Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.
/BegAsp/Connect.asp, line 29

-this is more of the code - or how i have it now:

Dim strDatabaseType
'Choose one of the following two lines, and comment out the other
'strDatabaseType = "Access"
strDatabaseType = "MSDE"

If strDatabaseType = "Access" Then
  objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
               "Data Source=C:\datastores\Movie2000.mdb;" & _
               "Persist Security Info=False"
   objConn.Open "Provider=SQLOLEDB.1;Password="";User ID=sa;Initial Catalog=Movie;Data Source=CPQ12126180872"
End If
LVL 75

Accepted Solution

Anthony Perkins earned 100 total points
ID: 12155937
Take a look at this link:
and the example given:
oConn.Open "Provider=sqloledb;" & _
           "Data Source=myServerName;" & _
           "Initial Catalog=myDatabaseName;" & _
           "User Id=myUsername;" & _

The only difference between that and the one I suggested is the provider (sqloledb vs sqloledb.1).

Assisted Solution

RaisinJ earned 100 total points
ID: 12157086
Here is the site I always use for connection strings as I am always forgetting them.  This site has connection strings for all DBs and all security types.

Also, if you have a default install of SQL Server, the password for sa is blank, in your connection strings, "Password=;",  you should not have to put double or single quotes.  
LVL 75

Expert Comment

by:Anthony Perkins
ID: 12157155
RaisinJ makes a good point:
>>Also, if you have a default install of SQL Server, the password for sa is blank, in your connection strings, "Password=;",  you should not have to put double or single quotes.  <<

Anotherwhat you can express an empty password is as follows:
objConn.Open "Provider=SQLOLEDB.1;User ID=sa;Initial Catalog=Movie;Data Source=CPQ12126180872"
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.


Expert Comment

ID: 12157726
Hello  sahrom,

This is is a problem of authentication mode selected by default MSDE install as windows authentication mode. In ISQL it login without any user name and password.

Bcoz it is installed as windows autentication mode it does not give permission of login as SA and flesh back an error not trusted user.

U have to pass some paramiter to change the authentication mode while executing seup.exe of MSDE.

Hope this will help

Amit Jain

Assisted Solution

amit1978 earned 300 total points
ID: 12157771
By MSDN K. Base

When using SQL Server 2000 Desktop Engine Windows Installer Merge Modules, an option named SECURITYMODE can be used to change the default login authentication mode from Windows NT authentication to SQL authentication.
The authentication mode can also be changed at the time of the installation by using the following command-line setup parameter for SQL Server 2000 Desktop Engine: SECURITYMODE=SQL
For more information, refer to the "3.1.4 Desktop Engine Setup Parameters" section in the Readme.txt file for SQL Server 2000 Desktop Engine installation.

By default, SQL Server 2000 installation sets the login authentication to Windows authentication mode. This can be easily changed after the install by connecting to the server by using any installation of SQL Server Enterprise Manager (SEM). For more information regarding changing authentication mode by using SEM, refer to the "Authentication" topic in SQL Server Books On-Line.

Another way to change the security mode after installation is to stop SQL Server and set the appropriate registry key for your installation:

Default instance:

Named instance:
HKLM\Software\Microsoft\Microsoft SQL Server\Instance Name\MSSQLServer\LoginMode

to 0 or 2 for mixed-mode or 1 for integrated. (Integrated is the default setup for the SQL Server 2000 Data Engine.)

Note The 0 and 2 values have the same functionality. They both set the security to mixed-mode.

WARNING: If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.

To set this key to mixed-mode, follow these steps:
Stop SQL Server and all related services, such as SQLAgent, from the Services control panel.
Click Start, click Run, type regedt32, and then click OK.
Find the HKEY_LOCAL_MACHINE window on the local computer.
Navigate to the following registry key for the default instance:

Navigate to the following registry key for a named instance:
HKLM\Software\Microsoft\Microsoft SQL Server\Instance Name\MSSQLServer\LoginMode

On the right-hand pane, find the value LoginMode and double-click it.
In the DWORD Editor window, set the value to 0 or 2. Also, make sure that the Hex radio button is selected.
Click OK.
Restart SQL Server and SQL Server Agent services for this change to take effect.

Expert Comment

ID: 12157779

Expert Comment

ID: 12157808
MSDE will accept any password you give it, but whether you need to use quotes or not is a different matter.

Have a look in your MSDE setup.exe directory, there should be a help file (HTML) which talks about how to run the install program (but it is very complicated).

The setup runs for me with just the sa password parameter, but if you want (need) to set the instance name, you here is an example of more parameters: (you want INSTANCENAME)


Amit Jain

Author Comment

ID: 12159719
thanks all for the information and links, they are all usefull

so the problem is not how I have the US ID and Passward, but the user
authentication mode
with my options listed by amit1979

Featured Post

What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Nowadays, some of developer are too much worried about data. Who is using data, who is updating it etc. etc. Because, data is more costlier in term of money and information. So security of data is focusing concern in days. Lets' understand the Au…
Let's review the features of new SQL Server 2012 (Denali CTP3). It listed as below: PERCENT_RANK(): PERCENT_RANK() function will returns the percentage value of rank of the values among its group. PERCENT_RANK() function value always in be…
This video shows, step by step, how to configure Oracle Heterogeneous Services via the Generic Gateway Agent in order to make a connection from an Oracle session and access a remote SQL Server database table.
Via a live example, show how to backup a database, simulate a failure backup the tail of the database transaction log and perform the restore.

910 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

25 Experts available now in Live!

Get 1:1 Help Now