Aracılığıyla paylaş


sp_changeobjectowner (Transact-SQL)

Geçerli veritabanında bir nesnenin sahibini değiştirir.

Önemli notÖnemli

Bu saklı yordam içinde kullanılabilen nesneleri yalnızca çalışır Microsoft SQL Server 2000.Bu özellik Microsoft SQL Server'ın ilerideki bir sürümünde kaldırılacaktır. Yeni geliştirme işlerinde bu özelliği kullanmaktan kaçının ve bu özelliği kullanmakta olan uygulamalarda değişiklik yapmayı planlayın.Use alter schema veya alter YETKİLENDİRME onun yerine.sp_changeobjectowner şema ve sahibini değiştirir.Önceki sürümleriyle uyumluluğu korumak için SQL Server, bu saklı yordam yalnızca nesne sahipleri, hem geçerli sahibi hem de yeni sahibi şemalara aynı adı taşıyan sahip Değiştirkendi veritabanı kullanıcı adlarını.

Önemli notÖnemli

Yeni bir izne gereksinimi bu saklı yordameklendi.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

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

Bağımsız değişkenler

  • [ NesneAdı = ] 'object'
    Varolan bir tablo, görünüm, kullanıcı tanımlı işlevveya saklı yordam geçerli veritabanında adıdır.object olan bir nvarchar(776), ile hiçbir varsayılan.objectFormdaki varolan nesnenin sahibi ile tam existing_owner**.**object şema ve sahibiyle aynı ada sahipse.

  • [ @ newowner =] **'**owner '
    Nesnenin yeni sahibi olacak güvenlik hesabının adıdır.ownerİş sysname, ile hiçbir varsayılan.ownerGeçerli veritabanı kullanıcı, sunucu rolü olmalıdır Microsoft Windows oturumu açma, ya da Windows grubuna erişim için geçerli bir veritabanı.Yeni sahibi bir Windows kullanıcısı veya var olduğu hiçbir karşılık gelen veritabanıdüzey asıl Windows grubu ise, veritabanı kullanıcı oluşturulur.

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (hata)

Açıklamalar

sp_changeobjectowner var olan tüm izinler nesneden kaldırır.Çalıştırdıktan sonra saklamak istediğiniz izinlerin yeniden gerekecek sp_changeobjectowner.Bu nedenle, çalıştırmadan önce varolan izinleri dışında komut dosyası öneririz sp_changeobjectowner.Nesnenin sahipliğini değiştirildikten sonra izinler yeniden uygulamak için komut dosyası kullanabilirsiniz.Nesne sahibi izinleri komut dosyasını çalıştırmadan önce değiştirmeniz gerekir.Veritabanı komut dosyası kullananhakkında daha fazla bilgi için bkz: Belgeleme ve veritabanları komut dosyası.

Bir güvenliği sağlanabilirsahibini değiştirmek için alter YETKİLENDİRME kullanın.Bir şema değiştirmek için alter schema kullanın.

İzinler

Üyelik gerektirir db_owner her ikisini de sabit veritabanı rolüveya üyelik db_ddladmin sabit veritabanı rolü ve db_securityadmin nesnesinde veritabanı rolüve aynı zamanda Denetim izni sabit.

Örnekler

Aşağıdaki örnek sahibini değiştirir authors tablo Corporate\GeorgeW.

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