MSSQL_ENG021797
訊息詳細資料
產品名稱 |
SQL Server |
產品版本 |
9.0 |
產品組建編號 |
9.00.1399.60 |
事件識別碼 |
21797 |
事件來源 |
MSSQLSERVER |
元件 |
SQL Server Database Engine |
符號名稱 |
|
訊息文字 |
'%s' 必須是有效的 Windows 登入,格式為:'MACHINE\Login' 或 'DOMAIN\Login'。請參閱 '%s' 的文件集。 |
說明
如果為 @job_login 參數指定的值為 Null 或無效,則此錯誤是由下列複寫預存程序引發。如果 db_owner 固定資料庫角色成員從舊版 SQL Server 執行指令碼,則可能發生此錯誤。安全性模型在 SQL Server 2005 中已變更,同時必須更新這些指令碼。
- sp_addlogreader_agent (Transact-SQL)
- sp_addqreader_agent (Transact-SQL)
- sp_addpublication_snapshot (Transact-SQL)
- sp_addpushsubscription_agent (Transact-SQL)
- sp_addpullsubscription_agent (Transact-SQL)
- sp_addmergepushsubscription_agent (Transact-SQL)
- sp_addmergepullsubscription_agent (Transact-SQL)
這些預存程序可由適當伺服器上的 sysadmin 固定伺服器角色之成員執行,或可由適當資料庫中的 db_owner 固定資料庫角色之成員來執行。每個預存程序均會建立一個代理程式作業,並允許您指定代理程式執行所使用的 Microsoft Windows 帳戶。對於 sysadmin 角色中的使用者,即使未指定 Windows 帳戶(如果帳戶已指定,則其必須是有效帳戶),也會隱含建立代理程式作業;代理程式會在適當伺服器端的 SQL Server 代理程式服務帳戶內容下執行。雖然不需要此帳戶,但安全性最佳作法是為代理程式指定不同的帳戶。如需詳細資訊,請參閱<複寫代理程式安全性模型>。
使用者動作
確定為每個程序的 @job_login 參數指定有效的 Windows 帳戶。若您有上一版本的 SQL Server 複寫指令碼,請更新這些指令碼以納入 SQL Server 2005 所需的預存程序和參數。如需詳細資訊,請參閱<How to: Upgrade Replication Scripts (Replication Transact-SQL Programming)>。