只能解释为Windows 2000的安全漏洞,按道理,任何机器要访问服务器都必须取得服务器的信任。还有,你的Windows 2000没有登录到服务器,那登录到哪里,记得Windows 2000怎么都会出个登录,可能你登录的地方和服务器有信任关系。

解决方案 »

  1.   

    不奇怪,Win2kpro的工作组如果你把它设为和win2kserver的域名一样的话,联网后它好像自动进了你那个域,这个也不知是BUG还是什么,但win98是不行的。
      

  2.   

    这个应该是操作系统的问题,不会是sql的问题,建议你去windows2000版问一下
      

  3.   

    设置的问题 ,win2000不存在这样的bug,至于win2000pro不登陆就可以用网,这是他的新特性
      

  4.   

    好像是WINDOWS的问题,我以前也碰到了.
      

  5.   

    to: Haiwer(海阔天空--回复语句只对MSSQL有效) 
    “还有,你的Windows 2000没有登录到服务器,那登录到哪里,记得Windows 2000怎么都会出个登录,可能你登录的地方和服务器有信任关系。”我以一个本机的 User 帐号登录本机,并没有权限访问那台安装 SQL 的 Windows 2000 系统(网上邻居不能访问它);但是,此机上的程序又可以与 SQL 服务器连接。我觉得 Windows 98 也应该是这样才对啊!否则,混合模式身份验证又是什么意思呢?我的理解是:混合模式验证,意思是,用操作系统帐号 或者用 SQL Server 分配的帐号均可登录 SQL Server 。
      

  6.   

    此话题的另一贴:http://www.csdn.net/Expert/TopicView1.asp?id=586442
      

  7.   

    袁飞:
    我是这样理解:如果win98没有登陆网络,那么取得的网络资源是有限的,比如不能访问server 1433 port.
      

  8.   

    是一个用户的问题吧!
    如果你的win2000 ad是用administrator登陆的话,
    你在win98下也用administrator登陆,这样应该就没有这个问题了
      

  9.   

    我遇到的这个问题是这么解决的:在98下必须用网络用户登录
    假设登录名为USERNAME
    在2000下加入这个用户USERNAME
      

  10.   

    这样解决我也知道的;关键是不知道原因何在?为何客户机为 win2000 时,可以不必登录服务器而可以直接访问数据库。
      

  11.   

    如果客户机的登陆帐号和密码和服务器不同时,我想时不应该登陆到SQL的。
      

  12.   

    或者说如果客户机的登陆帐号和密码在服务器没有注册时,我想不应该登陆到SQL的
      

  13.   

    to:sky_blue(老衲) 
    当客户机为 win2000 时,你说的两种情况都是可以登录到 SQL 的。不信?你试试?我都测试过了的。
      

  14.   

    你看一下,你在客户机登陆的帐号在服务器的用户和sql本身的用户里有没有,如果都没有,在我们这边的局域网里是绝对登陆不上去的
      

  15.   

    我觉得用98和2000的区别在于,用98不登录网络的时候,98没有访问网络的权利,也就不能启动命名管道或TCP协议,而用2000时,虽然没有登录到服务器所在的域,但2000有访问网络的权利,可以启动命名管道或TCP协议,这样才能把登录请求送到sql server服务器,才能登录。以下是从SQL SERVER 2000联机帮助拷贝的一段说明,有几个图贴不上来,如果有联机帮助的可以用关键字“混合模式安全性”查找,选看“管理 SQL Server”。身份验证模式
    Microsoft® SQL Server™ 可以在两种安全(身份验证)模式之一下工作: Windows 身份验证模式(Windows 身份验证) 
    Windows 身份验证模式使用户得以通过 Microsoft Windows NT® 4.0 或 Windows® 2000 用户帐户进行连接。混合模式(Windows 身份验证和 SQL Server 身份验证) 
    混合模式使用户得以使用 Windows 身份验证或 SQL Server 身份验证与 SQL Server 实例连接。在 Windows 身份验证模式或混合模式下,通过 Windows NT 4.0 或 Windows 2000 用户帐户连接的用户可以使用信任连接。提供 SQL Server 身份验证是为了向后兼容。例如,如果创建单个 Windows 2000 组并向该组添加所需的所有用户,则需要授予 Windows 2000 组登录到 SQL Server 的权限以及对任何必需数据库的访问权限。Windows 身份验证
    当用户通过 Windows NT 4.0 或 Windows 2000 用户帐户进行连接时,SQL Server 通过回叫 Windows NT 4.0 或 Windows 2000 以获得信息,重新验证帐户名和密码。SQL Server 通过使用网络用户的安全特性控制登录访问,以实现与 Windows NT 4.0 或 Windows 2000 的登录安全集成。用户的网络安全特性在网络登录时建立,并通过 Windows 域控制器进行验证。当网络用户尝试连接时,SQL Server 使用基于 Windows 的功能确定经过验证的网络用户名。SQL Server 于是验证此人是否是如其所说的那个人,然后只基于网络用户名允许或拒绝登录访问,而不要求单独的登录名和密码。登录安全集成在 SQL Server 中任何受支持的网络协议上运行。说明  如果用户试图通过提供空白登录名称连接到 SQL Server 的实例,SQL Server 将使用 Windows 身份验证。此外,如果用户试图使用特定的登录连接到配置为 Windows 身份验证模式的 SQL Server 实例,则将忽略该登录并使用 Windows 身份验证。
    与 SQL Server 身份验证相比,Windows 身份验证有某些优点,主要是由于它与 Windows NT 4.0 和 Windows 2000 安全系统的集成。Windows NT 4.0 和 Windows 2000 安全系统提供更多的功能,如安全验证和密码加密、审核、密码过期、最短密码长度,以及在多次登录请求无效后锁定帐户。由于 Windows NT 4.0 和 Windows 2000 用户和组只由 Windows NT 4.0 或 Windows 2000 维护,因此当用户进行连接时,SQL Server 将读取有关该用户在组中的成员资格信息。如果对已连接用户的可访问权限进行更改,则当用户下次连接到 SQL Server 实例或登录到 Windows NT 4.0 或 Windows 2000 时(取决于更改的类型),这些更改会生效。说明  当 SQL Server 实例在 Windows 98 或 Microsoft Windows Millennium 版上运行时,Windows 身份验证模式不可用。
    SQL Server 身份验证
    当用户用指定的登录名称和密码从非信任连接进行连接时,SQL Server 通过检查是否已设置 SQL Server 登录帐户,以及指定的密码是否与以前记录的密码匹配,自己进行身份验证。如果 SQL Server 未设置登录帐户,则身份验证将失败,而且用户收到错误信息。提供 SQL Server 身份验证是为了向后兼容性,因为为 SQL Server 7.0 版或更早的版本编写的应用程序可能要求使用 SQL Server 登录和密码。另外,当 SQL Server 实例在 Windows 98 上运行时,必须使用 SQL Server 身份验证,因为在 Windows 98 上不支持 Windows 身份验证模式。因此,SQL Server 在 Windows 98 上运行时使用混合模式(但只支持 SQL Server 身份验证)。应用程序开发人员和数据库用户也许更喜欢 SQL Server 身份验证,因为他们熟悉登录和密码功能。对于连接到 Windows NT 4.0 和 Windows 2000 客户端以外的其它客户端,可能也必须使用 SQL Server 身份验证。说明  当使用命名管道连接到在 Windows NT 4.0 或 Windows 2000 上运行的 SQL Server 实例时,用户必须有连接到 Windows NT 命名管道 IPC \\<computername>\IPC$ 的权限。如果用户没有连接权限,则不能使用命名管道连接到 SQL Server 实例,除非计算机上的 Windows NT 4.0 或 Windows 2000 guest 帐户已启用(默认情况下禁用),或者给用户帐户授予"从网络访问该计算机"的权限。
      

  16.   

    在登陆远程sql server前你必须先登陆网络。就是说,sql server上的user id不等于网络登陆账号。
      

  17.   

    如果是在NT网络环境下,要保证用NT账号登陆Win98。