Security
SQL Server 臨時表安全性
我參與了將舊 AS400 系統轉換為 SQL Server 的項目。該伺服器用於我們的工資單處理。工資核算流程的一部分是將雙週工資與我們從事的每項工作的百分比分開。為此,在 AS400 流程中,將一個 csv 文件從 P&B 管理員載入到只有管理員有權訪問的數據訪問區域的伺服器中。我需要在 SQL Server 環境中複製它。我計劃使用 SQLCMD 將本地文件導入臨時表。我知道任何人都不太可能在使用臨時表時查詢臨時表中的數據,但無論如何,是否只授予執行 SQLCMD 腳本的使用者訪問權限?
#temporary 表僅在創建它的會話中可見。因此,即使是另一個會話中的同一使用者也無法看到它。如果您在 SQLCMD 中載入一個臨時表,它將對該 SQLCMD 實例可見。因此,後續命令可以將數據載入到永久表中,或者在其上打開游標並為每一行呼叫儲存過程,等等。
或者,您可以為使用者提供私有模式並將數據載入到那裡的永久表中。然後沒有其他使用者(除了數據庫所有者或其他特權使用者)將能夠讀取它。然後,使用者可以稍後將數據移動到另一個模式中。