Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server Management Studio-命令运行的历史记录_Sql Server_Ssms - Fatal编程技术网

Sql server SQL Server Management Studio-命令运行的历史记录

Sql server SQL Server Management Studio-命令运行的历史记录,sql-server,ssms,Sql Server,Ssms,我以前更改了一个表,添加了一列,并修改了一个存储过程 我记不清是哪个表和哪个存储过程, sql management studio中是否有关于特定数据库中所做更改的日志 我已经尝试了这里描述的内容,但没有找到对DB所做的更改。您可以使用sys.objects表中的modify_date列 SELECT * FROM SYS.OBJECTS WHERE Modify_Date BETWEEN <date_of_modification> AND <date_of_modifica

我以前更改了一个表,添加了一列,并修改了一个存储过程

我记不清是哪个表和哪个存储过程, sql management studio中是否有关于特定数据库中所做更改的日志


我已经尝试了这里描述的内容,但没有找到对DB所做的更改。您可以使用sys.objects表中的modify_date列

SELECT *
FROM SYS.OBJECTS
WHERE Modify_Date BETWEEN <date_of_modification> AND <date_of_modification> + 1

您可以在sys.objects表中使用modify_date列

SELECT *
FROM SYS.OBJECTS
WHERE Modify_Date BETWEEN <date_of_modification> AND <date_of_modification> + 1

您可以使用
Security\Server Audit Specification
并在数据库上启用数据库\u对象\u更改\u组审核

使用以下参考以使用SQL Server审核


  • 您可以使用
    Security\Server Audit Specification
    并在数据库上启用数据库\u对象\u更改\u组审核

    使用以下参考以使用SQL Server审核


  • 有几种方法可以获得这些信息。首先,您可以尝试使用标准报告-->架构更改历史记录

    这方面的信息来自:

    SELECT cat.name AS Category
    , b.name AS EventCaptured
    , c.name AS ColumnCaptured
    FROM fn_trace_geteventinfo(1) AS a
    INNER JOIN sys.trace_events AS b
    ON a.eventid = b.trace_event_id
    INNER JOIN sys.trace_columns AS c
    ON a.columnid = c.trace_column_id
    INNER JOIN sys.trace_categories AS cat
    ON b.category_id = cat.category_id
    ORDER BY Category, EventCaptured, ColumnCaptured
    
    或者,查询sys.traces以查找默认跟踪的位置,并将其输入fn_trace_gettable,如下所示

    SELECT *
    FROM fn_trace_gettable
    ('C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\log.trc', default)
    

    有几种方法可以获得这些信息。首先,您可以尝试使用标准报告-->架构更改历史记录

    这方面的信息来自:

    SELECT cat.name AS Category
    , b.name AS EventCaptured
    , c.name AS ColumnCaptured
    FROM fn_trace_geteventinfo(1) AS a
    INNER JOIN sys.trace_events AS b
    ON a.eventid = b.trace_event_id
    INNER JOIN sys.trace_columns AS c
    ON a.columnid = c.trace_column_id
    INNER JOIN sys.trace_categories AS cat
    ON b.category_id = cat.category_id
    ORDER BY Category, EventCaptured, ColumnCaptured
    
    或者,查询sys.traces以查找默认跟踪的位置,并将其输入fn_trace_gettable,如下所示

    SELECT *
    FROM fn_trace_gettable
    ('C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\log.trc', default)
    

    我为SSMS开发了SSMSBoost外接程序,并在其中执行了“查询历史记录”。所有操作都记录有时间戳、连接信息和执行结果。只有在安装了SSMSBoost的情况下从SSMS执行所有更改时,这才肯定有效。如果有人将从其他计算机执行更改,您将看不到这些更改,直到他也使用SSMSBoost,并且您共享执行历史记录。

    我为SSMS开发了SSMSBoost加载项,我们在那里有“已执行查询历史记录”。所有操作都记录有时间戳、连接信息和执行结果。只有在安装了SSMSBoost的情况下从SSMS执行所有更改时,这才肯定有效。如果有人将从其他机器执行更改,您将看不到这些更改,直到他也使用SSMSBoost并且您共享执行历史