2017-06-21 123 views
1

我有一個Access數據庫,我必須嘗試解密它正在做什麼。訪問數據庫 - 瞭解通過

由於一開始我看到有通經查詢使用如下命令:

Exec RefreshGLTableLatestEntries 
@sourceDB = 'DB_NAME' , 
@tablePrefix = 'TableName$' , 
@logFile = 'C:\logDB.txt' 

當我運行它,我會得到這樣的:

Result 
Success... 108 rows inserted with a total amount of $0.000000 

我也不是什麼理解是從哪裏複製或複製行。

在MSSQL數據庫中,我沒有看到名爲'TableName $'的表,查詢,標準過程或函數。有很多表格&查詢稱爲'TableName $ SomethingElse'。有沒有辦法查看關於數據來自何處的更多細節?

同樣,我怎樣才能看到插入的行在哪裏?我在硬盤上找不到任何名爲'logDB.txt'的文件來查看日誌。我會懷疑它可能不會多說的是 '... 108行insterted ......'

我使用:

  • 訪問2016年的Office 365,版本1609
  • MS SQL服務器管理工​​作室v17.1

有關如何獲取有關如何獲取有關Pass Through的更多信息的更多信息的任何想法?

+2

'RefreshGLTableLatestEntries'是執行的存儲過程。你需要找到並分析它。 – Andre

+0

在Access或MSSQL中? – Selrac

+1

存儲過程在SQL Server中。 – Andre

回答

1

Access中的Pass-Through查詢等同於在SQL Server Management Studio中運行其SQL代碼。
(在通過查詢的連接字符串指定的數據庫中)

SQL按原樣發送到MSSQL並在那裏運行。

RefreshGLTableLatestEntries是在此處執行的存儲過程。您需要在SQL Server中查找並分析它。

+0

我找不到SP。我只能看到系統存儲過程。如果我嘗試運行sp_helptext'RefreshGLTableLatestEntries',我收到一條錯誤消息:消息15250,級別16,狀態1,過程sp_helptext,行44 [批量啓動行9] – Selrac

+1

然後,您要麼位於錯誤的數據庫中,要麼位於錯誤的服務器上,或者沒有權限查看SP。在Access中檢查查詢的連接字符串。 - 嘗試運行SSMS中的問題所示的SQL,如果它有效,那麼SP就在那裏。 – Andre

+0

謝謝Andre的幫助。我在另一個數據庫中找到它。 – Selrac