服务器上突然出现了一些表怎样查出这些对象的创建者(服务器是远程的,没有安装log explorer)在缓存中有host_name()的信息吗?

解决方案 »

  1.   

    到这三个系统表中去查查,具体怎么查,晚上我看看.
    sysobjects
    syssegments
    sysconstraints
      

  2.   

    sysobjects syssegments sysconstraints到这三个表去查询。
      

  3.   

    这个问题还不简单吗?就是把系统表和用户表进行关联就可以了,用下面的语句、SELECT dbo.sysusers.uid, dbo.sysobjects.name, dbo.sysusers.name AS UName
    FROM dbo.sysobjects INNER JOIN
    dbo.sysusers ON dbo.sysobjects.uid = dbo.sysusers.uid
      

  4.   

    两个表进行关联就可以了,sysobjects存储的是表,视图,存储过程等的创建信息,sysusers存储的是用户信息,用uid字段进行管理,就能看见表,视图,存储过程等的创建用户名称了。
      

  5.   


    你理解有误我要的是 host_name() 这个
      

  6.   

    我变不出来啊
    这位高手!你变出来一个给我看看吧,谢谢顺便:host_name() 我要的是 主机名
      

  7.   

    SELECT host_name() AS A ,dbo.sysusers.uid, dbo.sysobjects.name, dbo.sysusers.name AS UName 
    FROM dbo.sysobjects INNER JOIN 
    dbo.sysusers ON dbo.sysobjects.uid = dbo.sysusers.uid ,你觉得这样可以吗?
      

  8.   

    TO:noviceliu
    谢谢您的关注,呵呵 ^^
      

  9.   

    SELECT sysobjects.name,sysusers.name FROM  sysobjects INNER JOIN 
    sysusers ON sysobjects.uid = sysusers.uid
    WHERE sysobjects.xtype = 'U'这样?
      

  10.   


    use master
    select loginname,updatedate from syslogins
      

  11.   


    select crdate,[name] from sysobjects where xtype = 'p'可以查出存储过程的创建时间,修改的不会差。