代码之家  ›  专栏  ›  技术社区  ›  priyanka.sarkar

如何跟踪哪个用户上次修改了sqlserver2005+中的存储过程?

  •  0
  • priyanka.sarkar  · 技术社区  · 16 年前

    How can I quickly identify most recently modified stored procedures in SQL Server 我想知道我们是否可以同时识别用户?

    6 回复  |  直到 9 年前
        1
  •  1
  •   gbn    16 年前

    如果你谈论的是“prod DB中使用的内容”,而不是“源代码管理中使用的”,那么 不 .

    您需要SQL Server 2005及更高版本 DDL triggers .

        2
  •  1
  •   C B dkretz    9 年前

    尝试运行SQL Server Management Studio报告“架构更改历史记录”
    右键单击“数据库”
    选择“标准报告”



    SELECT * FROM ::fn_dblog(NULL, NULL)  
    

    这将使您可以直接查看事务日志。

        3
  •  0
  •   Community Mohan Dere    9 年前

    我不相信这在事后是可能的。这与这个问题非常相似 Microsoft SQL Server - Who created a Stored Procedure?

        4
  •  0
  •   Chris    16 年前

    如果存储的过程存储在版本控制系统中,那么您将可以完全访问历史记录,包括谁签出了该存储过程、进行了哪些修改以及何时将文件提交回存储库。当然,这仅适用于文件本身,而不适用于存储过程何时在SQL服务器本身上被修改。

        5
  •  0
  •   Kristen    16 年前

    我们将所有Sproc放在单独的文件中(具有版本控制等),而不仅仅是直接在数据库中单击鼠标右键并编辑!

    我们在每个SProc脚本的顶部都有这个

    EXEC dbo.MyLogScriptRun 'MySProcName', '091113'
    

    我们还使用它来检查特定客户端数据库上安装的版本,例如在诊断问题时,并作为了解使用哪个起始版本(来自版本控制)部署修复程序的基础;也用于部署升级(这样我们就可以确定哪些SProc更新,需要合并到“发布包”中)

    编写日志存储过程是为了执行

    EXEC dbo.MyLogScriptRun 'MySProcName'
    

    提供日志中的列表。(即,我可以突出显示行的第一部分,不包括版本号,以获取列表,或执行整行以创建日志条目)。

        6
  •  0
  •   Attila Csipak    16 年前

    您可以使用SQL Server Profiler来跟踪DDL操作。在事件选择中,检查以下事件: