• SQL server 2005 18452 错误


    决定把数据库装到自己机子上,可是非常不顺利,要选用SQL身份方式登陆,一番配置完成后,非常爽快地提示我连接不成功,一看错误代码,18452,于是又开始漫长的求解过程。。。中文网络遍地不负责任的转贴让我很不爽,以下是被转贴最多的一种方式:

    ==============
    无法连接到服务器  
    服务器:消息18452,     级别16,状态1  
    [Microsoft][ODBC     SQL     Server     Driver][SQL     Server]用户‘sa’登陆失败。原因:未与信任SQL     Server连接相关联   
    该错误产生的原因是由于SQL     Server使用了"仅     Windows"的身份验证方式,因此用户无法使用SQL     Server的登录帐户(例如     sa )进行连接,解决方法如下  
       
    设置允许SQL     Server身份登录     (基本上这个很有用)
        操作步骤:
        1。在企业管理器中,展开"SQL     Server组",鼠标右键点击SQL     Server服务器的名称  
        2。选择"属性"  
        3。再选择"安全性"选项卡  
        4。在"身份验证"下,选择"SQL     Server和     Windows"
        5。确定,并重新启动SQL     Server服务。
    ===============

    简单明了的五步,但是我在我的SQL server 2005怎么也找不到什么是“企业管理器”,更别谈什么“SQL sever"组了,翻了几十个网页,最终放弃了这种方式。
    究其原因,来自微软的官方解释:
    How to set up Mixed Mode security (Enterprise Manager)
    New Information - SQL Server 2000 SP3.

    Security Note  When possible, use Windows Authentication.
    To set up Mixed Mode security

    Expand a server group.
    Right-click a server, and then click Properties.
    Click the Security tab.
    Under Authentication, click SQL Server and Windows.
    Under Audit level, select the level at which user accesses to Microsoft® SQL Server™ are recorded in the SQL Server error log:

    这下明白了吧,原来是SQL server 2000 SP3的,那么多网页挂上2005的名头~~~

    继续查找,什么TCP/IP,namepipe方法全出来了,就没一个靠谱的,外围配置管理器打开remote control和broswer服务也没用,半天的试验,才发现SQL2005 managment studio里面直接可以解决:

    ·更改安全身份验证模式

    在 SQL Server Management Studio 的对象资源管理器中,右键单击服务器,再单击“属性”。
    在“安全性”页上的“服务器身份验证”下,选择新的服务器身份验证模式,再单击“确定”。
    在 SQL Server Management Studio 对话框中,单击“确定”以确认需要重新启动 SQL Server。
    从 SQL Server Management Studio 重新启动 SQL Server
    在对象资源管理器中,右键单击您的服务器,再单击“重新启动”。如果运行有 SQL Server 代理,则也必须重新启动该代理。

    ·使用 Transact-SQL 启用 sa 登录帐户 (就是在studio里面点“新建查询”)
    执行下列语句以启用 sa 密码并分配一个密码

    ALTER LOGIN sa ENABLE ;
    GO
    ALTER LOGIN sa WITH PASSWORD = 'password' ;(引号不要去掉,用自己的密码换掉password)
    GO

    ·使用 Management Studio 启用 sa 登录帐户

    在对象资源管理器中,依次展开“安全”、“登录名”,右键单击“sa”,再单击“属性”。
    在“常规”页上,您可能需要为 sa 登录名创建密码并确认该密码。
    在“状态”页的“登录”部分中,单击“启用”,然后单击“确定”。

    基本上可以搞定,我自己建了一个帐户,却没有建表格的权限,最后还是用回了sa。

    归根结底,18452错误就是当初安装SQL server的时候没有选windows和SQL双重身份登陆的选项,找到能修改的地方基本就能搞定了。
    顺便分享一下找到的18456错误,基本上就是三个原因:你用户名错了;你密码错了,你用户名和密码都错了。总结得很酷

  • 相关阅读:
    Java学习-IO流-read()和write()详解
    JAVA中String类常用构造方法
    java的System.exit(0)和System.exit(1)区别。
    Eclipse快捷键大全
    Java Arraylist的遍历
    Java Map的遍历
    C++求最大公约数,最小公倍数
    C++sort使用实例
    [Project Euler] 题目汇总
    [leetcode]做过的题的目录
  • 原文地址:https://www.cnblogs.com/walkerwang/p/1763864.html
Copyright © 2020-2023  润新知