Bu makalede kullanıcı herhangi bir tablonun schema yapısını Transfer komutu ile değiştirmeye çalıştığında aşağıdaki hata mesajını almış olur.
Cannot alter the schema ‘SchemaName’, because it does not exist or you do not have permission.
İlgili kullanıcının veritabanı üzerinde aşağıdaki yetkileri bulunmaktadır.

Aşağıdaki komut ile tablomuzun schema yapısını değiştirmek isteriz. Aşağıdaki alter komutu ile dbo scheması ile başlayan tablomuzun schema’sını Person olarak değiştiriyoruz. Yukarıdaki yetkileri belirtilen klnEl kullanıcısı ile Transfer komutu çalıştırılır.
EXECUTE AS LOGIN ='klnEl'
ALTER SCHEMA Person TRANSFER dbo.AWBuildVersion;
REVERT
Aşağıdaki resimde belirtilen hata mesajıyla karşılaşmış oluruz.

Bu hata mesajında ilgili Person schema yapısının değiştirmesi için kullanıcının yetkisinin olmadığını söylemektedir.
Aşağıdaki komutlar kullanılarak ilgili kullanıcıya belirtilen tablo objesi üzerinde control işlemi yapılıp, kullanıcının belirtilen schema yapısını kullanarak belirtilen tablodaki schema yapısıyla değişim işlemlemini yapmış olacaktır.
Aşağıdaki komut sysadmin kullanıcısı üzerinde çalıştırılması gerekmektedir. Bu komutta dbo.AWBuildVersion tablosunda bulunan dbo şemasının Person olarak değiştirilmesini söylemektedir. Başka bir tablo üzerinde işlem yapılması hata mesajı almamıza sebep verecektir.
use AdventureWorks2017
go
GRANT CONTROL ON OBJECT::dbo.AWBuildVersion TO klnEl;
GRANT ALTER ON SCHEMA::Person TO klnEl;
İlgili kullanıcı ile giriş yaptıktan sonra tablomuzun schema yapısının değiştiğini görmüş olduk. Başka bir tablo kullanılması hata mesajını almamıza sebebiyet verecektir.
EXECUTE AS LOGIN ='klnEl'
use AdventureWorks2017
go
ALTER SCHEMA Person TRANSFER dbo.AWBuildVersion;
REVERT
Yukarıdaki komut çalıştırıldıktan sonra dbo.AWBuildVersion tablosunun şemasının Person olduğu yapılmaktadır.

Aşağıdaki komutta Schema yapısı HummanResources olan tabloların Transfer komutunda kullanılması schema yapısını Person olarak değiştirecektir.

use AdventureWorks2017
GRANT CONTROL ON schema::HumanResources TO klnEl;
GRANT ALTER ON SCHEMA::Person TO klnEl;
klnEL kullanıcı ile login olduktan sonra Aşağıdaki komutta bulunan HumanResources kaynaklı şemaların Person olarak değiştirildiği görülmektedir. HumanResources kaynaklı tüm schemalar HumanResources schemalara dönüştürülür.
EXECUTE AS LOGIN ='klnEl'
use AdventureWorks2017
go
ALTER SCHEMA Person TRANSFER HumanResources.Department;
REVERT

Bu makalede Transfer komutu sonucu mevcut tablomuzun schema yapısını değiştirmek istediğimizde Cannot alter the schema ‘SchemaName’, because it does not exist or you do not have permission. hatası ile değinmiş olduk. Bu gibi durumlarda yukarıdaki komutlar çalıştırılıp başarılı sonuçlar almış olduk.
Başka makalede görüşmek dileğiyle..
Ey İman Edenler! Allah’tan Korkun ve Doğru Söz Söyleyin ki, Allah İşlerinizi Düzeltsin ve Günahlarınızı Bağışlasın.”(Ahzâb: 70-71)