YETKILENDIRME (Transact-sql)

Bir güvenlik altına alınabilir sahipliğini değiştirir.

Konu bağlantısı simgesi Transact-SQL Sözdizim Kuralları

Sözdizimi

ALTER AUTHORIZATION
   ON [ <class_type>:: ] entity_name
   TO { SCHEMA OWNER | principal_name }
[;]

<class_type> ::=
    {
        OBJECT | ASSEMBLY | ASYMMETRIC KEY | CERTIFICATE 
    | CONTRACT | TYPE | DATABASE | ENDPOINT | FULLTEXT CATALOG 
    | FULLTEXT STOPLIST | MESSAGE TYPE | REMOTE SERVICE BINDING
    | ROLE | ROUTE | SCHEMA | SEARCH PROPERTY LIST | SERVER ROLE 
    | SERVICE | SYMMETRIC KEY | XML SCHEMA COLLECTION
    }

Bağımsız değişkenler

  • <döndürenclass_typeDenetim>
    Varlık sahibi değiştiriliyor güvenilir sınıfıdır. Nesne varsayılan değerdir.

  • entity_name
    Varlık addır.

  • principal_name
    Varlık kendi anapara addır.

Açıklamalar

alter YETKILENDIRME, sahibi olduğu herhangi bir varlığın sahipliğini değiştirmek için kullanılabilir. Herhangi bir veritabanı düzeyinde asıl veritabanında bulunan varlıkları sahipliğini transfer edilebilir. Sunucu düzeyinde varlıkları sahipliğini yalnızca sunucu düzeyinde sorumluları için transfer edilebilir.

Önemli notÖnemli

İle başlayan SQL Server 2005, bir kullanıcı bir nesne veya başka bir veritabanı kullanıcının sahip olduğu bir şema tarafından bulunan türü sahibi olabilir. Bu davranış önceki sürümlerinden farklıdır SQL Server. Daha fazla bilgi için objectproperty (Transact-sql)ve typeproperty (Transact-sql).

Aşağıdaki şema içerdiği varlıkları türü "nesne" sahipliğini aktarılabilir: tabloları, gösterim, işlevleri, yordamlar, sıraları ve eş anlamlı.

Aşağıdaki varlıklar sahipliğini transfer: bağlantılı sunucuları, istatistik, kısıtlamaları, kuralları, varsayılanlar, Tetikleyiciler, Service Brokersıraları, kimlik bilgileri, bölüm işlevleri, bölüm düzenlerini, veritabanı ana anahtarlar, hizmet ana anahtar ve olay bildirimlerini.

Aşağıdaki güvenlik altına alınabilir sınıfların üyesi sahipliğini transfer: sunucu, oturum açma, kullanıcı, uygulama rolü ve sütun.

ŞEMA sahibi seçeneği, yalnızca bir şema içerdiği varlık sahipliğini aktarırken geçerlidir. ŞEMA sahibi bulunduğu şema sahibi varlığın sahipliğini aktaracaktır. Yalnızca sınıf nesnesi, türü veya xml şema koleksiyonu şema içerdiği varlıklardır.

Hedef varlık veritabanı değilse ve varlık bir yeni kullanıcıya aktarıldığı, hedef üzerindeki tüm izinleri iptal edilir.

Dikkat notuDikkat

De SQL Server 2005, şemaları durumundan önceki sürümlerindeki davranışa davranış SQL Server. Şemalar veritabanı kullanıcıları için eşdeğer olduğunu varsayar kod doğru sonuçları döndürmeyebilir. Eski katalog görünümleri dahil, sysobjects, hangi birinde aşağıdaki ddl deyimleri hiç kullanılmıştır veritabanında kullanılmamalıdır: schema create, alter schema, drop schema, create user, kullanıcı, alter, drop user, oluşturma rolü, role alter, drop role, approle oluşturmak, approle, alter, drop approle, alter YETKILENDIRME. Bir veritabanı içinde bu ifadelerden birini şimdiye kadar kullanılmıştır, yeni katalog görünümleri kullanmanız gerekir. Yeni katalog görünümleri sorumluları ve tanıtıldı şemaları ayrılması dikkate SQL Server 2005. Katalog görünümler hakkında daha fazla bilgi için bkz: Kataloğu görünümleri (Transact-sql).

Ayrıca, aşağıdakileri unutmayın:

Önemli notÖnemli

Bir nesnenin sahibi bulmak için yalnızca güvenilir yolu sorgu sys.objectsKatalog görünümü. Bir tür sahibini bulmak için yalnızca güvenilir bir şekilde typeproperty işlevini kullanmaktır.

Özel durumlar ve koşullar

Aşağıdaki tabloda, özel durumlar, özel durumlar ve yetkilendirme değiştirme için geçerli olan koşulları listeler.

Sınıf

Koşul

DATABASE

Sistem veritabanı sahibini değiştiremezsiniz master, model, tempdb, kaynak veritabanını veya distribution veritabanını kullanılan bir veritabanı. Asıl adı, bir oturum olmalıdır. Asıl adı olmadan karşılık gelen bir Windows oturumu ise SQL Servergiriş, asıl veritabanı üzerinde control server izni ve sahipliği Al izni olmalıdır. Sorumlusu ise bir SQL Servergiriş, anapara, bir sertifika veya asimetrik anahtar eşlenen olamaz. Bağımlı diğer adlar yeni veritabanı sahibi eşlenir. Geçerli veritabanında ve buna dbo SID güncellenecektir sys.databases.

NESNE

Tetikleyiciler, kısıtlamaları, kuralları, varsayılanlar, istatistik, sistem nesneleri, sıraları, dizin oluşturulmuş görünümler veya dizin oluşturulmuş görünümler tabloları sahipliğini değiştiremezsiniz.

ŞEMA

Mülkiyet transfer edildiğinde, açık sahipleri olmayan şema içerdiği nesnelerin izinlerini iptal edilir. Sahibini değiştiremezsiniz sys, dbo, ya information_schema.

TÜRÜ

Ait olduğu türü sahipliğini değiştiremezsiniz sysya information_schema.

Sözleşme, ileti türü veya servis

Sistem varlıkları sahipliğini değiştiremezsiniz.

SİMETRİK ANAHTAR

Genel geçici anahtarları sahipliğini değiştiremezsiniz.

Sertifika veya asimetrik anahtar

Bu varlıklar sahipliğini bir rol veya gruba aktaramaz.

BİTİŞ NOKTASI

Asıl adı, bir oturum olmalıdır.

İzinler

Varlık sahipliği Al izni gerektirir. Yeni sahibi bu deyimi yürütme kullanıcı değil, aynı zamanda ya, 1 gerektirir) bir kullanıcı veya oturum açma; ise yeni sahibi özelliklerini Al izni ya da 2) yeni sahibin rolü, rol veya alter izni; rol üyeliği ise ya da 3) yeni sahibi olup olmadığını bir uygulama rol, uygulama rolünü alter izni.

Örnekler

A.Tablo sahipliği aktarma

Aşağıdaki örnek tablo sahipliğini transfer eder Sprocketskullanıcıya MichikoOsada. Tablo şema içinde bulunan Parts.

ALTER AUTHORIZATION ON OBJECT::Parts.Sprockets TO MichikoOsada;
GO

ALTER AUTHORIZATION ON OBJECT::Parts.Sprockets TO MichikoOsada;
GO

Sorguyu aşağıdaki gibi görünebilir:

ALTER AUTHORIZATION ON Parts.Sprockets TO MichikoOsada;
GO

ALTER AUTHORIZATION ON Parts.Sprockets TO MichikoOsada;
GO

B.Şema sahibi bir görünüm sahipliği aktarma

Aşağıdaki örnek olma görünümü aktarır ProductionView06görüneceği şekilde içeren şema sahibini Görünümü şema içinde bulunan Production.

ALTER AUTHORIZATION ON OBJECT::Production.ProductionView06 TO SCHEMA OWNER;
GO

ALTER AUTHORIZATION ON OBJECT::Production.ProductionView06 TO SCHEMA OWNER;
GO

C.Bir kullanıcı bir şema sahipliğini aktarma

Aşağıdaki örnek şema sahipliğini transfer eder SeattleProduction11kullanıcıya SandraAlayo.

ALTER AUTHORIZATION ON SCHEMA::SeattleProduction11 TO SandraAlayo;
GO

ALTER AUTHORIZATION ON SCHEMA::SeattleProduction11 TO SandraAlayo;
GO

D.SQL Server oturumu için bir bitiş noktası sahipliği aktarma

Aşağıdaki örnek transferleri bitiş noktası sahipliği CantabSalesServer1için JaePak. Bitiş noktası bir sunucu düzeyinde güvenilir olduğundan, son nokta yalnızca bir sunucu düzeyinde asıl aktarılabilir.

ALTER AUTHORIZATION ON ENDPOINT::CantabSalesServer1 TO JaePak;
GO

ALTER AUTHORIZATION ON ENDPOINT::CantabSalesServer1 TO JaePak;
GO

Ayrıca bkz.

Başvuru

objectproperty (Transact-sql)

typeproperty (Transact-sql)

eventdata (Transact-sql)