我验证了下面的链接,因为有人(@Oliver)将其发布为我的问题的重复。但是这个查询返回上次执行的脚本,与我的问题无关。
我有一个名为Sample_Training的数据库,我在其中创建了一个存储过程,然后删除了它,现在我想检索已删除的存储过程。
我是公司的员工,因此没有管理权限。
DECLARE @Date_From DATETIME = '2015-01-02'
DECLARE @Date_To DATETIME = '2015-01-05'
SELECT
CONVERT(VARCHAR(MAX), SUBSTRING([RowLog Contents 0], 33, LEN([RowLog Contents 0]))) AS [Script]
FROM
fn_dblog(NULL,NULL)
WHERE
[Operation] = 'LOP_DELETE_ROWS'
AND [Context] = 'LCX_MARK_AS_GHOST'
AND [AllocUnitName] = 'sys.sysobjvalues.clst'
AND [TRANSACTION ID] IN (SELECT DISTINCT [TRANSACTION ID]
FROM sys.fn_dblog(NULL, NULL)
WHERE Context IN ('LCX_NULL') AND Operation IN ('LOP_BEGIN_XACT')
AND [Transaction Name] = 'DROPOBJ'
AND CONVERT(NVARCHAR(11), [Begin Time]) BETWEEN @Date_From AND @Date_To)
AND SUBSTRING([RowLog Contents 0], 33, LEN([RowLog Contents 0])) <> 0
通过上面的查询,我可以得到存储过程,那么我的问题是如何获取函数、表。