【问题标题】:Recovering a deleted view in SQL Server在 SQL Server 中恢复已删除的视图
【发布时间】:2022-08-14 15:47:43
【问题描述】:

‎我在 SQL Server 的数据库中遇到以下问题。

‎我只是右键单击一个视图和CREATE,查看视图的脚本并进行了一些调整。然后在CREATE 上方添加并执行DROP \"View_xy\"

‎自定义错误,因此视图被删除,但 CREATE 无法执行。由于所有的快速快速我放弃了我的调整并关闭了窗口。

‎不幸的是,当然,现在视图被删除了,脚本也不见了。‎

‎有没有办法在不借助备份的情况下恢复视图的脚本?‎

‎(我想避免备份,因为这个展位是前夕,我今天在其他视图中做了很多更改)‎

‎提前谢谢你!‎

  • 源代码控制是您的朋友。

标签: sql sql-server


【解决方案1】:

将备份恢复到不同的数据库或服务器并从那里提取视图定义。

【讨论】:

  • 太感谢了。没想到这么简单!
【解决方案2】:

在 SQL214 上,我能够从该 SQL 的结果集中恢复已删除的视图:

SELECT  Convert(varchar(Max),Substring([RowLog Contents 0],33,LEN([RowLog Contents 0]))) as [Script]
FROM fn_dblog(DEFAULT, DEFAULT)
Where [Operation]='LOP_DELETE_ROWS' And [Context]='LCX_MARK_AS_GHOST'
And [AllocUnitName]='sys.sysobjvalues.clst'

来源:https://social.technet.microsoft.com/wiki/contents/articles/33766.sql-server-troubleshooting-how-to-recover-views-and-procedures-dropped-by-mistake.aspx

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-04
    • 2014-05-19
    • 2019-06-09
    相关资源
    最近更新 更多