在MS SQL 2005除了sa帐号外,还创建了test帐号,如何设置只允许sa帐号能够远程连接

解决方案 »

  1.   


    CREATE TRIGGER SA_LoginIP_Check
    ON ALL SERVER WITH EXECUTE AS 'sa'
    FOR LOGON
    AS
    BEGIN
     DECLARE @ip nvarchar(max)
     DECLARE @loginName nvarchar(max)
     SELECT @ip=EVENTDATA().value
      ('(/EVENT_INSTANCE/ClientHost)[1]','nvarchar(max)')
      SELECT @loginName=EVENTDATA().value
      ('(/EVENT_INSTANCE/LoginName)[1]','nvarchar(max)')
      --这里可根据@ip 及@loginname 来自定义登录规则,以下则为只允许sa本机登录的例子 
      IF @loginName='sa'   
      BEGIN
    IF @ip<>'<local machine>'
    ROLLBACK
      END
    END  
      

  2.   

    请问上述方法在sql2000里有效吗?
      

  3.   

    在sql2000里SQL Server Browser是为了解决什么问题?
      

  4.   


    消息 1084,级别 15,状态 1,过程 SA_LoginIP_Check,第 3 行
    'LOGON' 是无效事件类型。
      

  5.   

    上述报错提示是在SQL2005里的,正在打SP3补丁
      

  6.   

    打了SP3补丁运行上述代码再没有报错,明天再建个TEST帐号试试