SQL Server' da tablo sahibini (ownership) değiştirme

Etiketler sql, sql server, ownership, tablo, table, 12.10.2005

Bu en gıcık olduğum işlerden biridir, lokal veya remote' taki tabloların ownershiplerinin farklı olması, kopyalama sonrası saçmalıklar vs.

Bugün SQL Table Ownership Changes, Quick and Easy başlıklı bir blog beni kurtardı. Şu şekilde basitçe bir veritabanındaki tüm tabloların userlarını değiştirebiliyorum. Buraya ekliyorum ki sonradan bir kopyası elimizde olsun.

DECLARE @old sysname, @new sysname, @sql varchar(1000)

SELECT
@old = 'OldOwner'
, @new = 'dbo'
, @sql = '
IF EXISTS (SELECT NULL FROM INFORMATION_SCHEMA.TABLES
WHERE
QUOTENAME(TABLE_SCHEMA)+''.''+QUOTENAME(TABLE_NAME) = ''?''
AND TABLE_SCHEMA = ''' + @old + '''
)
EXECUTE sp_changeobjectowner ''?'', ''' + @new + ''''

EXECUTE sp_MSforeachtable @sql

Ferruh Mavituna - 16.10.2005

- lakin her tablo için calistirmaniz gerekecek:D


Sanirim esas konu buydu zaten:)

Semih TURNA - 14.10.2005

Sadece (exec sp_changeobjectowner "tabloismi","owneradi") diye yaparsaniz yeterli oluyor.
- lakin her tablo için calistirmaniz gerekecek:D

Ferruh Mavituna - 13.10.2005

Bildirdiginiz için tesekkürler müsait bir zamanda Opera ile test edecegim, ilginç bir durum olusuyor sanirim.

ismail çakir - 13.10.2005

blogunuzun opera browserda data post la sorunu var. opera baglantinin sonlandigini ögrenemiyor. çözerseniz sevinirim.

ismail çakir - 13.10.2005

" Buraya ekliyorum ki sonradan bir kopyasi elimizde olsun."

Bende böyle baslamistim... :)
Arkadaslara ver, paylas, web sitenden yayinla. Peki daha etkili bir yöntem var mi acaba, merak ediyorum?

Yorum Yazın


Tüm yorumlar onaydan geçmektedir, bu işlem en uzun 30 dk. sürecektir. E-mail adresleri yeni yorumları bildirme harici hiç bir başka amaçla kullanılmamaktadır ve sitede gözükmemektedir.



Captcha Kodu