先在 控制面板-->管理工具里面的ODBC数据源新建一个SQL Server的系统数据源,用指定的用户名和密码的方式,输入 用户sa 和他的密码试试,如果提示sa登录失败,
多半是因为:1.SQL Server没有设置混合验证模式 2.sa用户没有启用或者密码不对,解决方法如下
SQL2008混合身份验证sa ,提示错误18456,:
1、用Windows身份验证方式进入SQL2008,在“对象资源管理器”右击根目录,弹出服务器属性。在“选择页”->“安全性”->勾选Sql Server和Windows身份验证模式->确定。
到这里就可以断开连接退出并使用“SQL Server身份验证”模式登录了。
由于默认不启用sa,所以如果启用sa账户登录,则还需要如下设置:
2、回到“对象资源管理器”,展开“安全性”,展开“登录名”就会看到登录名sa,右键它-->属性,“选择页”上选“状态”,右边的登陆选“启用”。确定。
4、万一还登录不了,可做如下尝试:
打开“SQL Server配置管理器”-->展开“SQL Server网络配置”-->“MSSQLSERVER 的协议”,在右边启用“TCP/IP协议”(+Named pipes协议)。
5.在SQL Server服务 里重启MSSQLSERVER服务即可。
如果你安装的msde是没有管理器界面的话,可以通过注册表来更改:
如果不能确定如何验证 MSDE 安装的身份验证模式,可以查看相应的注册表项。默认情况下,对于 Windows 身份验证,Windows LoginMode 注册表子项的值设置为 1。如果启用了混合模式身份验证,则此值为 2。
-
LoginMode 子项的位置取决于您是将 MSDE 作为默认 MSDE 实例安装还是作为命名实例安装。如果 MSDE 是作为默认实例安装的,则 LoginMode 子项位于以下注册表子项中:
HKLM\Software\Microsoft\MSSqlserver\MSSqlServer\LoginMode
-
如果 MSDE 是作为命名实例安装的,则 LoginMode 子项位于以下注册表子项中:
HKLM\Software\Microsoft\Microsoft SQL Server\%InstanceName%\MSSQLServer\LoginMode
注意:切换身份验证模式之前,必须设置 sa 密码,以免暴露潜在的安全漏洞。
如何更改 SA 密码
- 在正在连接到的 MSDE 实例的宿主计算机中,打开命令提示符窗口。
-
键入下面的命令,然后按 Enter 键:
osql -U sa
在 Password:提示符下,按 Enter 键(如果密码为空)或键入当前密码。这样可以使用 sa 帐户连接到 MSDE 的本地默认实例。要使用 Windows 身份验证进行连接,请键入此命令: use osql -E
-
在各个单独的行内键入下列命令,然后按 Enter 键:
sp_password @old = null, @new = 'complexpwd', @loginame ='sa' go
注意:确保将“complexpwd”替换为新的强密码。强密码包括字母数字和特殊字符以及大小写字符的组合。
您将收到以下提示信息,表示已成功更改密码:Password changed.
如何验证 SA 密码是否为空
- 在正在连接到的 MSDE 实例的宿主计算机中,打开命令提示符窗口。
-
在命令提示符处键入以下命令,然后按 Enter 键:
osql -U sa
这样可以通过 sa 帐户连接到 MSDE 的本地默认实例。要连接到您的计算机上安装的命名实例,请键入:
osql -U sa -S servername\instancename
随即将出现以下提示:
Password: -
再次按 Enter 键。此操作将为 sa 传递一个 NULL(空)密码。
如果按 Enter 键后出现以下提示,则您对 sa 帐户没有密码:
1>
为了符合安全方案的要求,Microsoft 建议您创建非空的强密码。
但是,如果收到以下错误信息,则表示您输入的密码不正确。此错误信息表示已为 sa 帐户创建了密码:"Login Failed for user 'sa'."Login failed for user 'sa'.Reason:Not associated with a trusted SQL Server connection.
如果您收到以下错误信息,则表示 SQL Server 可能未运行,或者您可能为安装的 SQL Server 的命名实例提供了错误名称:[Shared Memory]SQL Server does not exist or access denied.
[Shared Memory]ConnectionOpen (Connect()).