sp_ActiveDirectory_Obj (Transact-SQL)

Steuert die Registrierung einer MicrosoftSQL Server-Datenbank in Microsoft Windows Active Directory.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

sp_ActiveDirectory_Obj [ @Action = N'action'
     [ , [@ObjType = ] N'database' ]
          , [ @ObjName = ] N'database_name'

Argumente

  • [ @Action = ] N'action'
    Gibt an, ob das Active Directory-Objekt, das die SQL Server-Datenbank registriert, erstellt, aktualisiert oder gelöscht werden soll. action ist vom Datentyp nvarchar(20) und hat den Standardwert N'create'.

    Wert

    Beschreibung

    create

    Registriert die SQL Server-Datenbank in Active Directory, indem ein MS-SQL-SQLDatabase-Objektim Verzeichnis erstellt wird. Das MS-SQL-SQLDatabase-Objekt zeichnet die Attribute der Datenbank zum Zeitpunkt der Ausführung der Aktion auf. Wenn Sie diesen Wert angeben und die Datenbank bereits registriert wurde, wird das Objekt aktualisiert.

    update

    Aktualisiert die Attribute, die in Active Directory für die Datenbank registriert sind, indem die Attribute aktualisiert werden, die im MS-SQL-SQLDatabase-Objekt in Active Directory aufgezeichnet sind.

    delete

    Entfernt die Active Directory-Registrierung für die Datenbank, indem das MS-SQL_SQLDatabase-Objekt aus Active Directory gelöscht wird.

  • [ @ObjType = ] N'database'
    Gibt an, dass sp_ActiveDirectory_Obj die angeforderte Aktion für ein Datenbankobjekt in Active Directory ausführen soll. N'database' ist vom Datentyp nvarchar(15) und hat den Standardwert N'database'. Dies ist der einzige Wert, der unterstützt wird.

  • [ @ObjName = ] N'database_name'
    Gibt den Namen der Datenbank an, für die die Registrierungsaktion ausgeführt wird. database_name ist vom Datentyp sysname. Sie müssen einen Wert angeben. database_name muss den Namen einer Datenbank angeben, die in der Instanz von SQL Server vorhanden ist, in der sp_ActiveDirectory_Obj ausgeführt wird. database_name muss den Regeln für Bezeichner entsprechen.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Resultsets

Keine

Hinweise

Die aktuelle SQL Server-Instanz muss in Active Directory registriert werden, bevor Sie eine der Datenbanken in der Instanz registrieren können. Wenn Sie die Registrierung der Instanz aus Active Directory entfernen, werden alle Registrierungen von Datenbanken in dieser Instanz ebenfalls entfernt.

Datenbanken sind die einzigen Entitäten, die Sie direkt mithilfe von sp_ActiveDirectory_Obj in Active Directory registrieren können. Verwenden Sie sp_ActiveDirectory_SCP, um die Registrierung von Instanzen von SQL Server in Active Directory zu steuern.

HinweisHinweis

Eine Active Directory-Registrierung kann nur von dem Konto geändert werden, das sie erstellt hat. Wird das vom SQL Server-Dienst verwendete Sicherheitskonto geändert, müssen Sie die Active Directory-Registrierung löschen, das Dienstkonto ändern und dann die Active Directory-Registrierung erneut erstellen.

Berechtigungen

Erfordert die Mitgliedschaft in der festen Serverrolle sysadmin oder der festen Datenbankrolle db_owner.

Beispiele

Im folgenden Beispiel wird die AdventureWorks-Datenbank von der aktuellen Instanz von SQL Server in Active Directory registriert.

DECLARE @RetCode INT

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

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