sp_ActiveDirectory_Obj (Transact-SQL)
控制 Microsoft SQL Server 数据库在 Microsoft Windows Active Directory 中的注册。
语法
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
对象,在目录中注册 SQL Server 数据库。在执行该操作时,MS-SQL-SQLDatabase 对象将记录数据库的属性。如果指定了该值并且已经注册数据库,则会更新该对象。
update
通过在 Active Directory 中更新 MS-SQL-SQLDatabase 对象中记录的属性,在 Active Directory 中刷新为数据库注册的属性。
delete
通过从 Active Directory 中删除 MS-SQL_SQLDatabase 对象,删除数据库的 Active Directory 注册。
- [ @ObjType = ] N'database'
指定 sp_ActiveDirectory_Obj 对 Active Directory 中的数据库对象执行请求的操作。N'database' 的数据类型为 nvarchar(15),默认值为 N'database'。这是唯一支持的值。
- [ @ObjName = ] N'database_name'
指定要为其执行注册操作的数据库的名称。database_name 的数据类型为 sysname,且必须为其指定一个值。database_name 必须指定存在于 SQL Server 实例中的(在该实例中执行 sp_ActiveDirectory_Obj)数据库的名称,database_name 必须遵从标识符的规则。
返回代码值
0(成功)或 1(失败)
结果集
无
备注
您必须在 Active Directory 中注册 SQL Server 的当前实例,然后才能在该实例中注册任何数据库。如果从 Active Directory 中删除实例的注册,也将删除该实例中所有数据库的注册。
数据库是可以使用 sp_ActiveDirectory_Obj 直接在 Active Directory 中注册的唯一实体。若要控制在 Active Directory 中注册 SQL Server 实例,请使用 sp_ActiveDirectory_SCP。
注意: |
---|
Active Directory 注册只能由创建该注册的帐户进行修改。在更改 SQL Server 服务所用的安全帐户时,请删除 Active Directory 注册,更改服务帐户,再重新创建 Active Directory 注册。 |
权限
要求具有 sysadmin 固定服务器角色或 db_owner 固定数据库角色的成员身份。
示例
以下示例在 Active Directory 中注册来自 SQL Server 当前实例的 AdventureWorks
数据库。
DECLARE @RetCode INT
EXEC @RetCode = sp_ActiveDirectory_Obj @Action = N'create',
@ObjType = N'database',
@ObjName = N'AdventureWorks'
PRINT 'Return code = ' + CAST(@RetCode AS VARCHAR)
请参阅
参考
sp_ActiveDirectory_SCP (Transact-SQL)
sp_addmergepublication (Transact-SQL)
sp_addpublication (Transact-SQL)
sp_changemergepublication (Transact-SQL)
sp_changepublication (Transact-SQL)