MSSQL_ENG021797
消息详细信息
产品名称 |
SQL Server |
产品版本 |
10.0 |
产品内部版本号 |
|
事件 ID |
21797 |
事件源 |
MSSQLSERVER |
组件 |
SQL Server 数据库引擎 |
符号名称 |
|
消息正文 |
'%s' 必须是有效的 Windows 登录名,且格式为: '计算机\登录名' 或 '域\登录名'。 请参阅 '%s' 的文档。 |
解释
如果为 @job_login 参数指定的值为空或无效,下列复制存储过程将引发此错误。 如果 db_owner 固定数据库角色的成员从早期版本的 SQL Server 中运行脚本时,将发生此错误。 SQL Server 2005 中的安全模式已更改,因此必须更新这些脚本。
这些存储过程可由相应服务器上 sysadmin 固定服务器角色的成员执行,或者相应数据库中 db_owner 固定数据库角色的成员执行。 每个存储过程都创建代理作业,并允许指定用于运行代理的 Microsoft Windows 帐户。 对于 sysadmin 角色中的用户,即便未指定 Windows 帐户(如果指定帐户,则帐户必须有效),代理作业仍将隐式创建;代理运行于相应服务器的 SQL Server 代理服务帐户的上下文中。 虽然帐户不是必需的,但为代理指定单独的帐户却是最佳安全方法。 有关详细信息,请参阅复制代理安全性模式。
用户操作
确保为每个过程的 @job_login 参数指定一个有效的 Windows 帐户。 如果您具有早期版本的 SQL Server 中的复制脚本,请更新这些脚本以包括 SQL Server 2005 所需的存储过程和参数。 有关详细信息,请参阅升级复制脚本(复制 Transact-SQL 编程)。