如何使用 Teradata 恢复查询?

Bur*_*ras 1 teradata

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

dno*_*eth 5

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

SELECT * FROM dbc.QryLogV 
WHERE UserName = USER;
Run Code Online (Sandbox Code Playgroud)

但即使这有效,您可能仍然找不到所需的查询,因为所有数据都会定期从 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
 )
Run Code Online (Sandbox Code Playgroud)