sp_setapprole
激活与当前数据库中的应用程序角色关联的权限。语法
sp_setapprole [@rolename =] 'role' ,
[@password =] {Encrypt N 'password'} | 'password'
[,[@encrypt =] 'encrypt_style']参数
[@rolename =] 'role'是在当前数据库中定义的应用程序角色名。role 的数据类型是 sysname,没有默认设置。role 必须存在于当前数据库中。[@password =] {Encrypt N 'password'} | 'password'是激活应用程序角色所需的密码。password 的数据类型是 sysname,没有默认设置。可以使用 ODBC 规范 Encrypt 函数对 password 加密。使用 Encrypt 函数时,必须在密码的前面加上 N 以将密码转换成 Unicode 字符串。[@encrypt =] 'encrypt_style'指定 password 使用的加密样式。encrypt_style 的数据类型为 varchar(10),可以是下列值之一。值 描述
None 该密码不加密并以明文形式传递给 Microsoft® SQL Server™。这是默认设置。
Odbc 将密码发送到 SQL Server 之前,使用 ODBC 规范 Encrypt 函数对密码加密。这只能通过 ODBC 客户端或用于 SQL Server 的 OLE DB 提供程序指定。DB-Library 客户端不能使用该选项。
返回代码值
0(成功)或 1(失败)注释
应用程序角色没有成员,因此不必将用户添加到应用程序角色。未激活应用程序角色时,sp_setapprole 对用户在当前数据库内其它角色或组中的成员资格无效。激活应用程序角色时,将忽略通常与激活应用程序角色的用户连接关联的权限。用户连接获得与(应用程序角色在其中定义的)数据库的应用程序角色关联的权限。用户连接只能通过授予另一个数据库的 guest 用户帐户的权限来获得对该数据库的访问。因此,如果数据库中没有 guest 用户帐户,则连接无法获得对该数据库的访问。使用 sp_setapprole 激活某个应用程序角色后,在用户与 SQL Server 断开连接之前不能在当前数据库内停用该角色。若要保护应用程序角色密码,请使用 ODBC Encrypt 函数对密码加密并将 odbc 指定为加密方法。sp_setapprole 存储过程只能由直接 Transact-SQL 语句执行,不能在另一个存储过程内或从用户定义事务内执行。权限
任何用户都可以通过为角色提供正确的密码来执行 sp_setapprole。示例
A. 激活应用程序角色但不对密码加密
下例使用明文密码 AsDeFXX 激活名为 SalesAppRole 的应用程序角色,AsDeFXX 是使用特别为当前用户使用的应用程序设计的权限创建的。EXEC sp_setapprole 'SalesApprole', 'AsDeFXX'B. 激活应用程序角色并对密码加密
下例用密码 pswd 激活 Test 应用程序角色,并且在将此密码发送到 SQL Server 之前对其加密。EXEC sp_setapprole 'Test', {Encrypt N 'pswd'}, 'odbc'
激活与当前数据库中的应用程序角色关联的权限。语法
sp_setapprole [@rolename =] 'role' ,
[@password =] {Encrypt N 'password'} | 'password'
[,[@encrypt =] 'encrypt_style']参数
[@rolename =] 'role'是在当前数据库中定义的应用程序角色名。role 的数据类型是 sysname,没有默认设置。role 必须存在于当前数据库中。[@password =] {Encrypt N 'password'} | 'password'是激活应用程序角色所需的密码。password 的数据类型是 sysname,没有默认设置。可以使用 ODBC 规范 Encrypt 函数对 password 加密。使用 Encrypt 函数时,必须在密码的前面加上 N 以将密码转换成 Unicode 字符串。[@encrypt =] 'encrypt_style'指定 password 使用的加密样式。encrypt_style 的数据类型为 varchar(10),可以是下列值之一。值 描述
None 该密码不加密并以明文形式传递给 Microsoft® SQL Server™。这是默认设置。
Odbc 将密码发送到 SQL Server 之前,使用 ODBC 规范 Encrypt 函数对密码加密。这只能通过 ODBC 客户端或用于 SQL Server 的 OLE DB 提供程序指定。DB-Library 客户端不能使用该选项。
返回代码值
0(成功)或 1(失败)注释
应用程序角色没有成员,因此不必将用户添加到应用程序角色。未激活应用程序角色时,sp_setapprole 对用户在当前数据库内其它角色或组中的成员资格无效。激活应用程序角色时,将忽略通常与激活应用程序角色的用户连接关联的权限。用户连接获得与(应用程序角色在其中定义的)数据库的应用程序角色关联的权限。用户连接只能通过授予另一个数据库的 guest 用户帐户的权限来获得对该数据库的访问。因此,如果数据库中没有 guest 用户帐户,则连接无法获得对该数据库的访问。使用 sp_setapprole 激活某个应用程序角色后,在用户与 SQL Server 断开连接之前不能在当前数据库内停用该角色。若要保护应用程序角色密码,请使用 ODBC Encrypt 函数对密码加密并将 odbc 指定为加密方法。sp_setapprole 存储过程只能由直接 Transact-SQL 语句执行,不能在另一个存储过程内或从用户定义事务内执行。权限
任何用户都可以通过为角色提供正确的密码来执行 sp_setapprole。示例
A. 激活应用程序角色但不对密码加密
下例使用明文密码 AsDeFXX 激活名为 SalesAppRole 的应用程序角色,AsDeFXX 是使用特别为当前用户使用的应用程序设计的权限创建的。EXEC sp_setapprole 'SalesApprole', 'AsDeFXX'B. 激活应用程序角色并对密码加密
下例用密码 pswd 激活 Test 应用程序角色,并且在将此密码发送到 SQL Server 之前对其加密。EXEC sp_setapprole 'Test', {Encrypt N 'pswd'}, 'odbc'
解决方案 »
- sql2005如何把表中数据导出*.sql文件?
- 一道面试的问题,想求答案~~~~~回答正确马上给分,谢谢了
- Log Explorer如何卸载?
- 在线:SQL组内检索数据,望大虾指点!急!!!!!!!
- 出现了个诡异的问题求高手.......
- sqlserver安装过程中报错。急。
- 带(搜索关键字和搜索类型)的模糊搜索的存储过程
- 上传二进制文件到数据库的问题,答者有分(急,在线等)
- 在A表中有User,Name两个字段,用Select语句要返回User(Name)的样式,怎么实现?
- 这个会是什么问题?
- 我在 Query Analyzer 中,用sa连接 本机的sql server 竟然连不上?什么原因?详情请看^......
- 这样的select语句怎么写?
激活与当前数据库中的应用程序角色关联的权限。语法
sp_setapprole [@rolename =] 'role' ,
[@password =] {Encrypt N 'password'} | 'password'
[,[@encrypt =] 'encrypt_style']参数
[@rolename =] 'role'是在当前数据库中定义的应用程序角色名。role 的数据类型是 sysname,没有默认设置。role 必须存在于当前数据库中。[@password =] {Encrypt N 'password'} | 'password'是激活应用程序角色所需的密码。password 的数据类型是 sysname,没有默认设置。可以使用 ODBC 规范 Encrypt 函数对 password 加密。使用 Encrypt 函数时,必须在密码的前面加上 N 以将密码转换成 Unicode 字符串。[@encrypt =] 'encrypt_style'指定 password 使用的加密样式。encrypt_style 的数据类型为 varchar(10),可以是下列值之一。值 描述
None 该密码不加密并以明文形式传递给 Microsoft® SQL Server™。这是默认设置。
Odbc 将密码发送到 SQL Server 之前,使用 ODBC 规范 Encrypt 函数对密码加密。这只能通过 ODBC 客户端或用于 SQL Server 的 OLE DB 提供程序指定。DB-Library 客户端不能使用该选项。
返回代码值
0(成功)或 1(失败)注释
应用程序角色没有成员,因此不必将用户添加到应用程序角色。未激活应用程序角色时,sp_setapprole 对用户在当前数据库内其它角色或组中的成员资格无效。激活应用程序角色时,将忽略通常与激活应用程序角色的用户连接关联的权限。用户连接获得与(应用程序角色在其中定义的)数据库的应用程序角色关联的权限。用户连接只能通过授予另一个数据库的 guest 用户帐户的权限来获得对该数据库的访问。因此,如果数据库中没有 guest 用户帐户,则连接无法获得对该数据库的访问。使用 sp_setapprole 激活某个应用程序角色后,在用户与 SQL Server 断开连接之前不能在当前数据库内停用该角色。若要保护应用程序角色密码,请使用 ODBC Encrypt 函数对密码加密并将 odbc 指定为加密方法。sp_setapprole 存储过程只能由直接 Transact-SQL 语句执行,不能在另一个存储过程内或从用户定义事务内执行。权限
任何用户都可以通过为角色提供正确的密码来执行 sp_setapprole。示例
A. 激活应用程序角色但不对密码加密
下例使用明文密码 AsDeFXX 激活名为 SalesAppRole 的应用程序角色,AsDeFXX 是使用特别为当前用户使用的应用程序设计的权限创建的。EXEC sp_setapprole 'SalesApprole', 'AsDeFXX'B. 激活应用程序角色并对密码加密
下例用密码 pswd 激活 Test 应用程序角色,并且在将此密码发送到 SQL Server 之前对其加密。EXEC sp_setapprole 'Test', {Encrypt N 'pswd'}, 'odbc'