skip_encryption_old
已提供的密码由 SQL Server 较早版本加密。SQL Server
应该存储值而且不用重新对其加密。此选项只供升级使用。
返回代码值
0(成功)或 1(失败)
注释
SQL Server 登录和密码可包含 1 到 128 个字符,包括任何字母、符号和数字。但是,登录不能:
含有反斜线 (\)。
是保留的登录名称,例如 sa 或 public,或者已经存在。
为 NULL,或为空字符串 ('')。
如果提供默认数据库的名称,则不用执行 USE 语句就可以连接到指定的数据库。但是,不能使用默认的数据库,直到数据库所有者(使用 sp_adduser 或 sp_addrolemember)或 sp_addrole
授予对该数据库的访问权限为止。
SID 号是唯一的 Microsoft Windows NT® 用户标识号。必须保证每个用户的 SID 号在 Windows
NT 域中的唯一性。SQL Server 自动使用 Windows NT SID 标识 Windows NT 用户和组,并为 SQL
Server 登录生成一个 SID。
将登录添加到 SQL Server 时,如果密码已经是加密的形式,则使用 skip_encryption
取消密码加密是有用的。如果此密码由以前的 SQL Server 版本加密,则使用 skip_encryption_old。
不能从用户定义的事务中执行 sp_addlogin。
下表显示了几个与 sp_addlogin 一起使用的存储过程。
E. 创建登录 ID 并且不加密密码
下例在 Server1 上为用户 Margaret 创建了一个密码为"Rose"的 SQL
Server 登录,再析取此加密密码,然后使用前面加密的密码将用户登录 Margaret 添加到 Server2,但不对此密码进一步加密。之后,用户 Margaret 即可使用密码"Rose"登录到 Server2。
-- Server1
EXEC sp_addlogin Margaret, Rose
--Results
New login created.
-- Extract encrypted password for Margaret
SELECT CONVERT(VARBINARY(32), password)
FROM syslogins
WHERE name = 'Margaret'
--Results
------------------------------------------------------------------
0x2131214A212B57304F5A552A3D513453
(1 row(s) affected)
-- Server2
EXEC sp_addlogin 'Margaret', 0x2131214A212B57304F5A552A3D513453,
@encryptopt = 'skip_encryption'