sp_ActiveDirectory_Obj (Transact-SQL)
Microsoft Windows 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
ディレクトリに MS-SQL-SQLDatabase オブジェクトを作成することによって、Active Directory に SQL Server データベースを登録します。アクションの実行時、MS-SQL-SQLDatabase オブジェクトにはデータベースの属性が記録されます。データベースが既に登録済みの場合にこの値を指定すると、オブジェクトが更新されます。
update
Active Directory の MS-SQL-SQLDatabase オブジェクトに記録されている属性を更新することによって、Active Directory のデータベース用に登録されている属性を更新します。
delete
Active Directory から MS-SQL_SQLDatabase オブジェクトを削除することによって、Active Directory へのデータベースの登録を削除します。
[ @ObjType = ] N'database'
Active Directory のデータベース オブジェクトに対して、要求されたアクションが sp_ActiveDirectory_Obj によって実行されるように指定します。N'database' のデータ型は nvarchar(15) で、既定値は N'database' です。サポートされるのはこの値だけです。[ @ObjName = ] N'database_name'
登録操作の実行対象となるデータベースの名前を指定します。database_name のデータ型は sysname で、この値は必須です。database_name には、sp_ActiveDirectory_Obj が実行される SQL Server のインスタンス内にあるデータベースの名前を指定します。database_name は識別子の規則に従って指定する必要があります。
リターン コードの値
0 (成功) または 1 (失敗)
結果セット
なし
説明
SQL Server のインスタンス内にあるデータベースを Active Directory に登録するには、先に現在のインスタンスを登録する必要があります。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 固定データベース ロールのメンバーシップが必要です。
例
次の例では、SQL Server の現在のインスタンス内にある AdventureWorks2008R2 データベースを Active Directory に登録します。
DECLARE @RetCode INT
EXEC @RetCode = sp_ActiveDirectory_Obj @Action = N'create',
@ObjType = N'database',
@ObjName = N'AdventureWorks2008R2';
PRINT 'Return code = ' + CAST(@RetCode AS VARCHAR);