Transact-SQL 参考

sp_ActiveDirectory_Obj

控制在 Microsoft Windows® 2000 Active Directory™ 中注册 Microsoft® SQL Server™ 数据库。

语法

sp_ActiveDirectory_Obj [ @Action = ] N'action'

    [, [ @ObjType = ] N'database' ]

    , [ @ObjName = ] N'database_name'

参数

[ @Action = ] N'action'

指定是否要创建、更新或删除注册 SQL Server 数据库的 Active Directory 对象。action 的数据类型为 nvarchar(20),其默认值为 N'create'。

描述
create 通过在 Active Directory 中创建 MS-SQL-SQLDatabase 对象,在 Active Directory 中注册 SQL Server 数据库。MS-SQL-SQLDatabase 对象在执行创建操作时记录数据库的特性。如果指定 create 且已注册数据库,则执行更新操作。
update 通过在 Active Directory 中更新 MS-SQL-SQLDatabase 对象中记录的特性,在 Active Directory 中刷新为数据库注册的特性。如果指定 update 且未注册数据库,则执行创建操作。
delete 通过从 Active Directory 中删除 MS-SQL_SQLDatabase 对象,删除数据库的 Active Directory 注册。

[ @ObjType = ] N'database' }

指定 sp_ActiveDirectory_Obj 在 Active Directory 中数据库对象上执行请求的操作。N'database' 的数据类型为 nvarchar(15),其默认值为 N'database'。在 SQL Server 2000 中,N'database' 是唯一支持的值。

[ @ObjName = ] N'database_name'

指定为其执行注册操作的数据库的名称。database_name 的数据类型为 sysname,且必须为其指定一个值。database_name 必须指定存在于 SQL Server 实例中数据库的名称,在该实例中执行 sp_ActiveDirectory_Objdatabase_name 必须遵从标识符的规则。

返回代码值
  1. 0(成功)或 1(失败)
结果集

注释

必须在 Active Directory 中注册当前 SQL Server 实例才能注册该实例中的任何数据库。如果从 Active Directory 中删除实例的注册,也将删除该实例中所有数据库的注册。

在 SQL Server 2000 中,数据库是使用 sp_ActiveDirectory_Obj 在 Active Directory 中直接注册的唯一实体。若要控制在 Active Directory 中注册 SQL Server 实例,请使用 sp_ActiveDirectory_SCP。若要控制在 Active Directory 中注册复制发布,请使用复制存储过程:sp_addpublicationsp_changepublicationsp_addmergepublicationsp_changemergepublication

权限

只有 sysadmin 固定服务器角色和 db_owner 固定数据库角色的成员才能执行 sp_ActiveDirectory_SCP

示例

下例在 Active Directory 中从当前 SQL Server 实例注册 Northwind 数据库。

DECLARE @RetCode INT

EXEC @RetCode = sp_ActiveDirectory_Obj @Action = N'create',
     @ObjType = N'database',
     @ObjName = 'Northwind'

PRINT 'Return code = ' + CAST(@RetCode AS VARCHAR)

请参见

Active Directory 集成

Active Directory 服务

sp_ActiveDirectory_SCP

sp_addmergepublication

sp_addpublication

sp_changemergepublication

sp_changepublication