Share via


安全性問題是防止資料被複寫

本主題描述了一些在複寫組態與作業期間可能出現的安全性問題。如需複寫安全性的資訊,請參閱<安全性與保護 (複寫)>。

說明與使用者動作

問題

若要解決此問題…

一或多個複寫代理程式所使用之帳戶的密碼發生變更。

變更使用該帳戶之所有代理程式的密碼。如需詳細資訊,請參閱<如何:檢視並修改複寫安全性設定 (SQL Server Management Studio)>和<如何:檢視和修改複寫安全性設定 (複寫 Transact-SQL 程式設計)>。

複寫代理程式使用的帳戶不再有效,必須進行變更。

使用適當的對話方塊或預存程序來變更帳戶。如需詳細資訊,請參閱<如何:檢視並修改複寫安全性設定 (SQL Server Management Studio)>和<如何:檢視和修改複寫安全性設定 (複寫 Transact-SQL 程式設計)>。

複寫代理程式沒有足夠的權限,無法連接到拓撲中的電腦或在資料庫中執行作業。

確定代理程式使用的登入有效並擁有足夠的權限。如需詳細資訊,請參閱<複寫代理程式安全性模型>。

「快照集代理程式」無法寫入快照集資料夾;「散發代理程式」或「合併代理程式」無法從快照集資料夾中讀取。

確定代理程式被授與正確的目錄及共用權限。如需詳細資訊,請參閱<保護快照集資料夾>。

由於權限問題或因為「散發代理程式」或「合併代理程式」找不到發行集的 FTP 資料夾,因此無法使用檔案傳輸通訊協定 (FTP) 傳送快照集。

確定 FTP 伺服器已正確設定,且 FTP 資料夾的路徑已正確指定。如需詳細資訊,請參閱<如何:透過 FTP 傳遞快照集 (SQL Server Management Studio)>和<如何:透過 FTP 傳遞快照集 (複寫 Transact-SQL 程式設計)>。

連接「Oracle 發行者」時遇到權限問題。

有許多方面需要檢查,包括確定以下兩個帳戶擁有足夠的權限:複寫連接到「Oracle 發行者」所使用的帳戶,以及 Microsoft SQL Server 在「散發者」上執行所使用的帳戶。如需詳細資訊,請參閱<Oracle 發行者疑難排解>。

出現下列錯誤訊息:使用者 'distributor_admin' 登入失敗。

確定 distributor_admin 帳戶具有有效的增強式密碼。複寫建立遠端伺服器,repl_distributor,可允許在散發者和發行者之間通訊。登入 distributor_admin 與此遠端伺服器相關聯,且必須具備有效的密碼。如需詳細資訊,請參閱<保護散發者>。

出現下列錯誤訊息:'%s' 必須是有效的 Windows 登入,格式為: 'MACHINE\Login' 或 'DOMAIN\Login'。請參閱 '%s' 的文件集。

確定為每個複寫代理程式指定了有效的 Microsoft Windows 帳戶。如需詳細資訊,請參閱<MSSQL_ENG021797>。

出現下列錯誤訊息:在繼續進行之前,必須先經由 '%s' 將 '%s' 代理程式作業加入。請參閱 '%s' 的文件集。

確定在建立交易式發行集之前已建立下列代理程式:「記錄讀取器代理程式」(對於所有交易式發行集) 與「佇列讀取器代理程式」(對於允許佇列更新訂閱的交易式發行集)。如需詳細資訊,請參閱<MSSQL_ENG021798>。

出現下列錯誤訊息:無法在複寫工作目錄下建立子目錄。(%ls)

請確定已經為快照集資料夾指定正確的路徑。如果未使用快照集初始化訂閱,請確定在發行者端執行 SQL Server 服務的帳戶有足夠的權限。如需詳細資訊,請參閱<MSSQL_ENG021330>。

出現下列錯誤訊息:無法將使用者指令碼檔案複製到散發者。(%ls)

請確定已經為快照集資料夾指定正確的路徑。如果未使用快照集初始化訂閱,請確定在發行者端執行 SQL Server 服務的帳戶有足夠的權限。如需詳細資訊,請參閱<MSSQL_ENG021331>。

出現下列錯誤訊息:解密期間發生錯誤。

這是一般 SQL Server 錯誤,如果您使用 SQL Server Management Studio 以外的工具 (例如服務嵌入式) 來變更執行 SQL Server 的帳戶,便會出現此錯誤。您應該使用下列方法之一還原到原始帳戶,然後在 Management Studio 中變更至新帳戶。

  • 使用 RESTORE SERVICE MASTER KEY 命令從備份還原與原始帳戶關聯的服務主要金鑰。如需詳細資訊,請參閱<RESTORE SERVICE MASTER KEY (Transact-SQL)>。

  • 使用 ALTER SERVICE MASTER KEY 命令重新產生與原始帳戶相關的服務主要金鑰。如需詳細資訊,請參閱<ALTER SERVICE MASTER KEY (Transact-SQL)>。

  • 使用服務嵌入式管理單元或其他工具將帳戶變更回原始帳戶。

請參閱

概念