我们的服务器上的事件查看器里。能看到  mssql连接  事件18456、任务类别:登陆  ip地址是外地的。。请问这是怎么回事,,每个一秒钟连接一次、、用户 'sa' 登录失败。 原因: 密码与所提供的登录名不匹配。 [客户端: xxxxxxx]   请问这是有人恶意猜我的sql密码吗?该怎么禁止???

解决方案 »

  1.   

    可我换了啊。还是有ip地址老是连接我的 sa数据库 
    虽然一直失败但他会一直连。。请问怎么办?谁回答的详细,我把分全给他。。
      

  2.   

    一. "SQL       Server       不存在或访问被拒绝 "      
           
        这个是最复杂的,错误发生的原因比较多,需要检查的方面也比较多.      
           
        一般说来,有以下几种可能性:      
           
        1,SQL       Server名称或IP地址拼写有误      
        2,服务器端网络配置有误      
        3,客户端网络配置有误      
           
        要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因.      
           
           
        =============       首先,检查网络物理连接       =============      
        ping       <服务器IP地址/服务器名称>      
           
        如果       ping       <服务器IP地址>       不成功,说明物理连接有问题,这时候要检查硬件设备,如网卡,HUB,路由器等.      
        还有一种可能是由于客户端和服务器之间安装有防火墙软件造成的,比如       ISA       Server.防火墙软件可能会屏蔽对       ping,telnet       等的响应      
        因此在检查连接问题的时候,我们要先把防火墙软件暂时关闭,或者打开所有被封闭的端口.      
           
        如果ping       <服务器IP地址>       成功而,ping       <服务器名称>       失败      
        则说明名字解析有问题,这时候要检查       DNS       服务是否正常.      
        有时候客户端和服务器不在同一个局域网里面,这时候很可能无法直接使用服务器名称来标识该服务器,这时候我们可以使用HOSTS文件来进行名字解析,      
        具体的方法是:      
           
        1.使用记事本打开HOSTS文件(一般情况下位于C:\WINNT\system32\drivers\etc).      
        添加一条IP地址与服务器名称的对应记录,如:      
        172.168.10.24       myserver      
           
        2.或在       SQL       Server       的客户端网络实用工具里面进行配置,后面会有详细说明.      
           
           
        =============       其次,使用       telnet       命令检查SQL       Server服务器工作状态       =============      
        telnet       <服务器IP地址>       1433      
           
        如果命令执行成功,可以看到屏幕一闪之后光标在左上角不停闪动,这说明       SQL       Server       服务器工作正常,并且正在监听1433端口的       TCP/IP       连接      
        如果命令返回 "无法打开连接 "的错误信息,则说明服务器端没有启动       SQL       Server       服务,      
        也可能服务器端没启用       TCP/IP       协议,或者服务器端没有在       SQL       Server       默认的端口1433上监听.      
           
           
        =============接着,我们要到服务器上检查服务器端的网络配置,检查是否启用了命名管道.是否启用了       TCP/IP       协议等等       =============      
        可以利用       SQL       Server       自带的服务器网络使用工具来进行检查.      
           
        点击:程序       --       Microsoft       SQL       Server       --       服务器网络使用工具      
           
        打开该工具后,在 "常规 "中可以看到服务器启用了哪些协议.      
        一般而言,我们启用命名管道以及       TCP/IP       协议.      
        点中       TCP/IP       协议,选择 "属性 ",我们可以来检查       SQL       Server       服务默认端口的设置      
        一般而言,我们使用       SQL       Server       默认的1433端口.如果选中 "隐藏服务器 ",则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接.      
           
           
        =============       接下来我们要到客户端检查客户端的网络配置       =============      
        我们同样可以利用       SQL       Server       自带的客户端网络使用工具来进行检查,      
        所不同的是这次是在客户端来运行这个工具.      
           
        点击:程序       --       Microsoft       SQL       Server       --       客户端网络使用工具      
           
        打开该工具后,在 "常规 "项中,可以看到客户端启用了哪些协议.      
        一般而言,我们同样需要启用命名管道以及       TCP/IP       协议.      
        点击       TCP/IP       协议,选择 "属性 ",可以检查客户端默认连接端口的设置,该端口必须与服务器一致.      
           
        单击 "别名 "选项卡,还可以为服务器配置别名.服务器的别名是用来连接的名称,      
        连接参数中的服务器是真正的服务器名称,两者可以相同或不同.别名的设置与使用HOSTS文件有相似之处.      
           
           
        通过以上几个方面的检查,基本上可以排除第一种错误.      
    检查你的SQL有没有打补丁,没有的话要打上补丁,检查的方法是在查询分析器中运行:      
            select       @@version      
            如果出来的版本号是8.00.2039以下,则表明你未安装sp4的补丁,要装上.      
           
        SQL补丁下载:      
        全部补丁的位置(在下载页的中间部分,可以选择语言,以下载和sql       server实例语言对应的补丁)      
        http://www.microsoft.com/downloads/details.aspx?FamilyId=8E2DFC8D-C20E-4446-99A9-B7F0213F8BC5&displaylang=zh-cn      
        应该安装的是      
        http://download.microsoft.com/download/9/b/f/9bff6646-2cdb-4069-ada0-548be9cb9338/SQL2000-KB884525-SP4-x86-CHS.EXE      
        注意下载后,执行的时候是解压,要在解压后的目录中执行setup.bat才是真正的安装      
           
           
        如果你的操作系统是xp,那么在安装xp       sp2后,不管以前是否安装过sql       sp4,都要再安装一次,并且在防火墙中开启1433端口,否则无法被其他电脑访问       
      

  3.   

    不是,你数据库一般都用默认的1433端口吧?
    假设你只允许本机访问1433端口,哪你在ip安全策略里面设置只允许本机访问1433端口。
    你说的网址是WEB 的80端口吧?
      

  4.   

    sql server服务器上配置IP访问限制即可
    当然前提要求数据库与应用服务器(或是WEB)不再同一台机器的情况下
      

  5.   

    我再说明确一些。。我的sql2008数据库、。现在老是有外部ip连接我的sa用户数据库,只是暂时连不上说他密码错误,我估计是在猜我的数据库密码现在我想关掉外部连接,就是让外网的人没法连接和操作我的数据库。有人是要告诉我关掉1433,但我关掉1433端口时,我自己的网站在外网也无法访问了。因为数据库被关了。该怎么办?我现在是要关掉远程连接访问,但不影响我的网站的数据库的外网访问。
      

  6.   

    禁止SQL的其他网络协议用Shared Memory协议
      

  7.   

    如何限制访问SQL Server的客户端IP地址
    http://database.ctocio.com.cn/278/9418778.shtml
      

  8.   

    如果操作系统是Windows 2003,则可以使用Windows2003的防火墙禁止非本地ip地址探测1433,但本机ip地址不受限制。