2012-09-12 21 views
5

SQL Azure'daki çok kullanışlı "CREATE AS COPY OF" komutunu kullanarak SQL Azure veritabanlarını yedeklemek için küçük bir uygulama yazdım. Örneğin.SQL Azure'da veritabanlarını kopyalamak için gereken izinler

CREATE DATABASE MyNewDB AS COPY OF MyOldDB 

Bu komutu yönetici oturumuyla çalıştırıyorum (sunucu oluştururken ilk girişiniz). Soru: Yukarıdaki komutu çalıştırmak için yeni bir girişin gerekmesi gereken minimum izinler nelerdir?

Şimdiye kadar burada yaptıklarım var:

-- IN MASTER DB -- 
CREATE LOGIN DBCreator WITH PASSWORD = '?????????????' 
CREATE USER DBCreator FROM LOGIN DBCreator; 
EXEC sp_addrolemember 'dbmanager', 'DBCreator'; 

-- IN MyOldDB -- 
-- (I ran this stuff when the previous commands didn't do it) -- 
CREATE USER DBCreator FROM LOGIN DBCreator; 
EXEC sp_addrolemember 'db_datareader', 'DBCreator'; -- 

Ve yukarıda CREATE DATABASE komutu çalıştıran sonucu:

CREATE DATABASE permission denied in database 'MyOldDB'. 
+0

Merhaba - CREATE DATABASE komutunu çalıştırdığınızda ana bilgisayara bağlı olmanız gerekir. Ayrıca kullandığınız hesabın dbmanager veritabanı rolünün (master'da) bir parçası olduğundan emin olun; İhtiyacın olan bu izin. İşte MSDN belgelerine: http://msdn.microsoft.com/en-us/library/windowsazure/ee336274.aspx –

+0

Evet, veritabanı oluştur komutunu 'master' dan çalıştırıyorum. Evet, yeni giriş master'da dbmanager. –

+1

Adımlarınızı denedim ve ayrıca DBCreator'ı kaynak veritabanının db_owneri olarak ekledim. Aynı hatayı aldım. Sonra ek bir kısıtlama olduğunu hatırladım ... temel olarak CREATE DATABASE deyimini veren kullanıcı, kaynak veritabanını oluşturan "özgün" kullanıcı olmalıdır. –

cevap

1

yeni giriş için vt_sahibi rolü eklemek edemedi komut

EXEC sp_addrolemember 'db_owner', 'NewLogin' 

hatayı atar

Cannot alter the role 'db_owner', because it does not exist or you do not have permission.

Ama makalesinde Managing Databases and Logins in Windows Azure SQL Database yararlı bilgi bulunmaktadır

EXEC sp_addrolemember 'dbmanager', 'NewLogin' 

DBManager rolünü kullanarak çalışır.

İlgili konular