【问题标题】:How to recover queries with Teradata?如何使用 Teradata 恢复查询?
【发布时间】:2014-05-31 01:11:21
【问题描述】:

我正在使用vb script(不是 sql 助手)提交查询。现在我不小心删除了那个 vb 脚本文件。如何恢复我提交的查询?它们存储在 Teradata 的什么位置?

【问题讨论】:

    标签: teradata


    【解决方案1】:

    大多数 TD 系统都启用了数据库查询日志 (DBQL),因此您的 SQL 很有可能被捕获。如果您可以访问它,您可以尝试:

    SELECT * FROM dbc.QryLogV 
    WHERE UserName = USER;
    

    但即使这样可行,您仍可能找不到所需的查询,因为所有数据都会定期从 DBQL 基表移动到历史数据库(可能每天)。因此,您最好联系您的 DBA 并寻求帮助 :-)

    如果 dbc.QryLogV 中的 QueryText 为空(或只是部分文本),您可以检查 QryLogSQLV(希望已填充):

    SELECT * FROM dbc.QRryLogSQLV
    WHERE QueryId IN 
     ( 
       SELECT QueryId FROM dbc.QryLogV 
        WHERE UserName = USER
        AND some more conditions to find the correct queries
     )
    

    【讨论】:

    • +1 谢谢。但是QryLogV 表没有任何txt 列,它只有一些日期、错误代码。 . .但没有文本列来保存查询
    • 有一个 QueryText 列,但这可能是空的,在这种情况下你可能会在 dbc.QryLogSQLV 中找到它,我编辑我的答案
    • 谢谢!这些表包含我通过 SQLassistant 运行的所有 sql,但由于某种原因,使用 vb script 运行的查询不存在
    • 运气不好,你还是应该联系你的 DBA
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-26
    • 2018-05-23
    • 2019-03-15
    • 2021-09-16
    相关资源
    最近更新 更多