次の方法で共有


sp_ActiveDirectory_Obj (Transact-SQL)

Microsoft Windows Active Directory にある、Microsoft SQL Server データベースの登録を制御します。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

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);