Udostępnij za pośrednictwem


sp_changeobjectowner (języka Transact-SQL)

Zmienia właściciela obiektu w bieżącej bazie danych.

Ważna informacjaWażne:

Ta procedura składowana działa tylko z obiektami dostępnymi w Microsoft SQL Server 2000.Ta funkcja zostanie usunięta z przyszłej wersji programu Microsoft SQL Server. Należy unikać stosowania tej funkcji w nowych projektach oraz zaplanować modyfikację aplikacji, w których obecnie jest używana ta funkcja.Użycie Zmiany SCHEMATU lub ALTER autoryzacji zamiast.sp_changeobjectowner zmian schematu i właściciela.W celu zachowania zgodności ze starszymi wersjami programu SQL Server, ta procedura składowana zostanie zmieniony tylko właścicieli obiektów podczas bieżącego właściciela i nowego właściciela własne schematy, które mają taką samą nazwę jak ich nazwy użytkownika bazy danych.

Ważna informacjaWażne:

Nowy wymóg uprawnienie został dodany do tej procedura składowana.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

sp_changeobjectowner [ @objname = ] 'object' , [ @newowner = ] 'owner'

Argumenty

  • [ @ NazwaObk = ] 'object"
    Jest nazwą istniejącej tabela, widoku, funkcjazdefiniowanej przez użytkownika lub procedura składowana w bieżącej bazie danych.object jest nvarchar(776), z braku domyślne.objectmoże zostać zakwalifikowany z właścicielem istniejącego obiektu w formularzu existing_owner**.**object Jeśli schemat i jego właściciela mają taką samą nazwę.

  • [ @ newowner =] **'**owner "
    Jest to nazwa konta zabezpieczeń, który będzie nowym właścicielem obiektu.ownerjest sysname, z braku domyślne.ownermusi być prawidłową bazą danych użytkownika, roli serwera Microsoft logowania systemu Windows lub grupy systemu Windows z dostępem do bieżącej bazy danych.W przypadku systemu Windows użytkownika lub grupy systemu Windows, dla których nie istnieje głównej odpowiedniej bazy danych — niepoziom nowego właściciela użytkownika bazy danych zostanie utworzony.

Wartości kodów powrotnych

0 (sukces) lub 1 (błąd)

Uwagi

sp_changeobjectowner usuwa wszystkie istniejące uprawnienia od obiektu.Konieczne będzie ponowne zastosowanie wszelkich uprawnień, które mają być zachowane po uruchomieniu sp_changeobjectowner.Dlatego zaleca się skrypt poza istniejące uprawnienia przed uruchomieniem sp_changeobjectowner.Po zmianie własności obiektu można użyć skryptu, aby ponownie zastosować uprawnienia.Właściciel obiektu w skrypcie uprawnienia przed uruchomieniem należy zmodyfikować.Aby uzyskać więcej informacji na temat bazy danych, wykonywanie skryptów, zobacz Dokumentowanie i skryptów baz danych.

Aby zmienić właściciela zabezpieczany, użyj ALTER autoryzacji.Aby zmienić schemat, użyj zmiany SCHEMATU.

Uprawnienia

Wymaga członkostwa w db_owner ustalonego w rola bazy danychlub członkostwa w obu db_ddladmin stałej rola bazy danych i db_securityadmin stałe rola bazy danychi uprawnienie Kontrola do obiektu.

Przykłady

Poniższy przykład zmienia właściciela authors tabela do Corporate\GeorgeW.

EXEC sp_changeobjectowner 'authors', 'Corporate\GeorgeW';
GO