打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
原因: 未与信任 SQL Server 连接相关联的解决办法
(2009-05-24 16:56:41)

message: 用户 'sa' 登录失败。原因: 未与信任 SQLServer 连接相关联。

这个问题该如何解决?


=============
一.控制面板-》服务-》MS SQL SERVER-》登陆--》本地系统帐户--》重新启动MS SQL SERVER
用windows验证登陆查询分析器--》执行 sp_password null,sa新密码,'sa'

二."无法连接到服务器,用户xxx登陆失败"
该错误产生的原因是由于SQL Server使用了"仅 Windows"的身份验证方式,
因此用户无法使用SQL Server的登录帐户(如 sa )进行连接.解决方法如下所示:
1.在服务器端使用企业管理器,并且选择"使用 Windows 身份验证"连接上 SQL Server
操作步骤:
在企业管理器中
--右键你的服务器实例(就是那个有绿色图标的)
--编辑SQL Server注册属性
--选择"使用windows身份验证"
--选择"使用SQL Server身份验证"
--登录名输入:sa,密码输入sa的密码
--确定
2.设置允许SQL Server身份登录
操作步骤:
在企业管理器中
--展开"SQL Server组",鼠标右键点击SQL Server服务器的名称
--选择"属性"
--再选择"安全性"选项卡
--在"身份验证"下,选择"SQL Server和 Windows ".
--确定,并重新启动SQL Server服务.
在以上解决方法中,如果在第 1 步中使用"使用 Windows 身份验证"连接 SQL Server 失败,
那就通过修改注册表来解决此问题:
1.点击"开始"-"运行",输入regedit,回车进入注册表编辑器
2.依次展开注册表项,浏览到以下注册表键:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer]
3.在屏幕右方找到名称"LoginMode",双击编辑双字节值
4.将原值从1改为2,点击"确定"
5.关闭注册表编辑器
6.重新启动SQL Server服务.
此时,用户可以成功地使用sa在企业管理器中新建SQL Server注册,
但是仍然无法使用Windows身份验证模式来连接SQL Server.
这是因为在 SQL Server 中有两个缺省的登录帐户:
BUILTIN\Administrators
<机器名>\Administrator 被删除.
要恢复这两个帐户,可以使用以下的方法:
1.打开企业管理器,展开服务器组,然后展开服务器
2.展开"安全性",右击"登录",然后单击"新建登录"
3.在"名称"框中,输入 BUILTIN\Administrators
4.在"服务器角色"选项卡中,选择"System Administrators"
5.点击"确定"退出
6.使用同样方法添加 <机器名>\Administrator登录.
说明:
以下注册表键:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\LoginMode
的值决定了SQL Server将采取何种身份验证模式.
1.表示使用"Windows 身份验证"模式
2.表示使用混合模式(Windows 身份验证和 SQL Server 身份验证).


Microsoft SQL Desktop engine 2000 是一个常用的SQL支持数据库,但安装后其 sa的默认密码为空,这样对数据安全有一定影响。因为MSDE2000是简化版本,无管理控制台,修改密码只能进入命令行方式。       要注意的是要在切换了SQL的身份验证方式后才可以命令行修改密码。默认的SQL身份验证方式是Windows账户模式,要改为采用SQL身份验证。

要Windows账户身份验证模式切换到SQL的身份验证模式,请按以下步骤操作:

   1. 先停止 MSSQLSERVER 以及所有其他相关服务(如 SQLSERVERAgent)。
   2. 打开注册表编辑器。
   3. 找到以下两个子项之一(取决于 MSDE 是作为默认 MSDE 实例安装的还是作为命名实例安装的):
     HKEY_LOCAL_MACHINE\\Software\\Microsoft\\MSSqlserver\\MSSqlServer
     - 或者 -
     HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Microsoft SQLServer\\<InstanceName>\\MSSQLServer\\
   4. 在右窗格中,双击 LoginMode 子项。
   5. 在 DWORD 编辑器对话框中,将此子项的值设置为 2。确保选择了 Hex 选项,然后单击确定。 (默认情况下,WindowsLoginMode 注册表子项的值设置为 1。如果启用SQL的身份验证模式,则此值为 2。)
   6. 重新启动 MSSQLSERVER 和 SQLSERVERAgent 服务以使更改生效。至此,SQL验证模式切换完毕。
   7.在运行菜单执行 CMD 命令先进入命令行模式
   8.进入MSDE安装目录C:\\Program Files\\Microsoft SQLServer\\80\\Tools\\Binn目录
   9.执行命令
     osql -U sa -Q "sp_password NULL, \'password\', \'sa\'"
      (其中 password 改为你要设置的密码,输入时注意单引号和双引号的格式)
   10、之后会提示输入默认口令,直接按回车即可。密码修改成功。
  修改了口令后不影响使用。如果要改密码步骤同上。此方法也可使用与命令行修改SQL2000企业版和专业版的sa口令。(前提是必须知道sa密码哦)
如何验证 SA 密码是否为空

   1. 在正在连接到的 MSDE 实例的宿主计算机中,打开命令提示符窗口。
   2. 在命令提示符处键入以下命令,然后按 Enter 键:
     osql -U sa
     这样可以通过 sa 帐户连接到 MSDE 的本地默认实例。要连接到您的计算机上安装的命名实例,请键入:
      osql -U sa -S servername\\instancename
      随即将出现以下提示:
      Password:
   3. 再次按 Enter 键。此操作将为 sa 传递一个 NULL(空)密码。
      如果按 Enter 键后出现以下提示,则您对 sa 帐户没有密码:
      1>
  为了符合安全方案的要求,Microsoft 建议您创建非空的强密码。
  但是,如果收到以下错误信息,则表示您输入的密码不正确。此错误信息表示已为 sa 帐户创建了密码:
   "Login Failedfor user \'sa\'." 
   以下错误信息表示运行 SQLServer 的计算机设置为只限 Windows 身份验证:
   Login failed foruser \'sa\'.Reason:Not associated with a trusted SQL Serverconnection.
   在 Windows身份验证模式下无法验证 sa 密码。但可以创建 sa 密码,以便 sa帐户在以后身份验证模式更改为混合模式时仍然是安全的。
   如果您收到以下错误信息,则表示SQL Server 可能未运行,或者您可能为安装的 SQL Server 的命名实例提供了错误名称:
      [Shared Memory]SQL Server does not exist or access denied.
      [Shared Memory]ConnectionOpen (Connect()).
另一种简单的更改 sa 密码的方法
   1. 在正在连接到的 MSDE 实例的宿主计算机中,打开命令提示符窗口。
   2. 键入下面的命令,然后按 Enter 键:
     osql -U sa
     在 Password:提示符下,按 Enter 键(如果密码为空)或键入当前密码。这样可以使用 sa 帐户连接到 MSDE的本地默认实例。
     要使用 Windows 身份验证进行连接,请键入此命令:
     use osql -E
   3. 在各个单独的行内键入下列命令,然后按 Enter 键:
     sp_password @old = null, @new = \'password\', @loginame=\'sa\'
     go
     注意:确保将“password”替换为你的密码。
     您将收到以下提示信息,表示已成功更改密码:
     Password changed.


MSDE安装配置

打开setup.ini 文件,修改文件内容如图。

[Options]
SAPWD="123456"
SECURITYMODE="SQL"
USEDEFAULTSAPWD
DISABLENETWORKPROTOCOLS=0


其中"SAPWD=" 项为管理员密码,用户在安装时可自行设置,例子示范为"123456"


到msde安装目录下的setup.ini,就是再你SETUP.EXE旁边的这个修改里面的参数
[Options]
SECURITYMODE=SQL
SAPWD=123

其中SAPWD后的"123"是你的sa的密码。如果之前没有安装过~,为空即可,

[Options]
SECURITYMODE=SQL
SAPWD=

 

 

使用MSDE:

msde可以很容易的和自己的程序发布。
msde在sql server的msde目录中
主要有两种方法,
简单方法是使用setup.exe,复杂方法是实用\msde\msm下的合并模块,可以将其无缝的集成到自己的msi安装程序里,不过很麻烦。

第一种方法主要是设置setup.ini和setup.exe的命令行参数。

例如(--后面是我加的注释,不能写到ini文件中):

[Options]
TARGETDIR="D:\Setup\msde\binn" --安装后的sql目录
DATADIR="D:\Setup\msde\data" --默认的sql数据库目录
INSTANCENAME="我的实例名称" --实例名
SECURITYMODE="SQL" --使用sql server身份验证
USEDEFAULTSAPWD --不设置sa密码,如果设置密码
--改为:SAPASSWORD="密码"

 

注意:
4 安装命名实例可以避免和用户计算机上可能存在的sql server发生冲突
5 验证模式为混合模式
6 sa密码为空

使用:F:\MSDE\SETUP /i F:\MSDE\setup\sqlrunXX.msi
就可以删除其他15个 sqlrunXX.msi了

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
SQLSever SA密码相关
HOW TO:验证和更改 MSDE 系统管理员密码
SQL2000简易安装说明
解决SqlServer 各版本 sa帐户不能登录问题
用户 'sa' 登录失败。原因: 未与信任 SQL Server 连接 的解决方法_.NE...
如何将sql2005的windows身份验证变为sql身份验证
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服