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

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

Recent Blog Posts

See all of the blog posts