您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

sp_unbindexeclass

语法


sp_unbindexeclass <object_name>, <object_type>, <scope>

参数

<object_name>

是要解除与执行类的关联的应用程序、登录名或存储过程的名称。如果 <object_type> 为 DF,则 <object_name> 应为空值。

<object_type>

标识 <object_name> 的类型,对于应用程序、登录名、存储过程或缺省执行类分别为 AP、LG、PR 或 DF。

<scope>

对于应用程序或登录名,是要执行解除绑定的应用程序名或登录名。对于存储过程,是存储过程所有者的名称(用户名)。对于对象类型 DF,其为空值。

示例

示例 1

解除应用程序 isql 作用域内的登录名“sa”与某个执行类的关联。“sa”会自动将其自身绑定到另一个执行类,具体情况取决于其它绑定规范、优先顺序和作用域界定规则。如果没有其它绑定适用,该对象将绑定到缺省执行类 EC2:


sp_unbindexeclass 'sa', 'lg', 'isql'

用法

使用 sp_unbindexeclass 时,还存在一些其它注意事项:

  • 参数必须与 sysattributes 系统表中的现有条目匹配。

  • 如果指定的作用域是空值,SAP ASE 服务器将解除作用域为空值的对象的绑定(如果有这样的对象)。

  • 作用域为空值并不表示应对所有绑定的对象执行解除绑定。

  • 解除存储过程与执行类的绑定时,必须使用存储过程所有者的名称(用户名)作为 scope 参数。

  • 解除存储过程与用户定义的缺省执行类的绑定时,使用用户定义的缺省执行类属性运行的所有任务均使用系统定义的缺省执行类 EC2 的属性运行。

  • 在解除绑定前后都可以删除存储过程。

  • 如果某个用户是数据库中某个绑定到执行类的存储过程的所有者,则不能从该数据库中删除该用户。

  • 从数据库中删除类型为 PR 的对象之前,应先解除这些对象的绑定。

  • 如果相关联的引擎组中没有联机引擎,而且有活动进程绑定到相关联的执行类,则解除绑定将失败。

  • 视优先顺序和作用域界定规则而定,要解除绑定的执行类可能已对 <object_name> 生效,也可能尚未对其生效。该对象会自动将其自身绑定到另一个执行类,具体情况取决于其它绑定规范、优先顺序和作用域界定规则。如果没有其它绑定适用,该对象将绑定到缺省执行类。如果没有用户定义的缺省执行类,该对象将绑定到类 EC2。