當您在 SQL Server 中執行 散發代理程式 時,發生「散發代理程式無法建立臨時檔」錯誤訊息
本文可協助您解決在 SQL Server 中執行 散發代理程式 的問題。
原始產品版本: SQL S
原始 KB 編號: 956032
徵狀
在安裝在 Windows Server 電腦上的 Microsoft SQL Server 實例上,您會設定交易式發行集。 您可以使用Distribution Profile for OLEDB streaming
設定檔進行 散發代理程式。 當您執行 散發代理程式 時,您會收到如下的錯誤訊息:
散發代理程式無法在 C:\Program Files\Microsoft SQL Server\<nnn>\COM 目錄中建立臨時檔。 系統傳回錯誤碼 5。
注意事項
<nnn> 會識別 SQL Server 的版本。 如需詳細資訊,請參閱默認和具名實例的檔案位置 SQL Server。
原因
在 2019 SQL Server 之前,當您使用 Distribution Profile for OLEDB streaming
散發代理程式 的配置檔或在自定義配置檔中使用 OLEDB 串流時,散發代理程式 會在目錄中建立臨時檔:C:\Program Files\Microsoft SQL Server\<nnn>\COM。
注意事項
在 SQL Server 2019 和更新版本中,這些臨時文件現在會在執行 散發代理程式 的帳戶下建立,因此這些檔案會位於目錄 C:\Users\DistributionAgentAccount\AppData\Temp 中,而不是目錄 C:\Program Files\Microsoft SQL Server\<nnn>\COM。DistributionAgentAccount
是執行 散發代理程式的帳戶。
如果執行 SQL Server Agent 的帳戶沒有 COM 資料夾的寫入許可權,則 散發代理程式 會在以作業身分執行時失敗。 如果您使用沒有 COM 資料夾寫入許可權的帳戶,從命令行執行 散發代理程式,則會發生相同的失敗。
因應措施
若要解決此問題,請為執行 SQL Server Agent 服務的帳戶授與 COM 資料夾的寫入許可權。 如果您從命令行執行 散發代理程式,請為您用來執行 散發代理程式 的帳戶授與 COM 資料夾的寫入許可權。
注意事項
如果您變更指派給複寫作業的帳戶,帳戶應該具有 COM資料夾的寫入許可權。
如果您在遵循這些步驟之後仍然間歇性地遇到此問題,您應該確定系統上發生的任何防病毒軟體掃描都會排除 COM 資料夾。
其他相關資訊
錯誤碼 5 表示錯誤為「存取遭拒」。