SQL替换了存储过程

时间:2016-09-19 06:01:24

标签: sql sql-server sql-server-2008 sql-server-2005 sql-server-2008-r2

有没有办法在恢复后恢复替换的存储过程。 我忘记在更换数据库之前创建备份。

2 个答案:

答案 0 :(得分:1)

不,没有。这是为什么我提倡数据库对象的源代码控制以及编译代码的一个很好的例子。

答案 1 :(得分:-2)

@RexAtienza,如果您最近执行了该SP,那么您可以从缓存中获取该SP。同时查找数据库的任何旧备份,您可以在其中获取旧SP。请检查以下查询以从缓存中查找。

SELECT DB_Name(qt.[dbid]) AS 'databaseName'
    ,Object_Name(qt.objectid, qt.[dbid]) AS 'procName'
    ,Max(qs.last_execution_time) AS 'last_execution'
    ,qt.TEXT
FROM sys.dm_exec_query_stats AS qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) AS qt
where Object_Name(qt.objectid, qt.[dbid]) ='YOUR_PROC_NAME'
GROUP BY db_name(qt.[dbid])
    ,Object_Name(qt.objectid, qt.[dbid])
    ,qt.TEXT
ORDER BY databaseName
    ,procName