Escribí una pequeña aplicación para hacer copias de seguridad de las bases de datos SQL Azure usando el muy útil comando 'CREAR COMO COPIA DE' en SQL Azure. p.ej.Qué permisos son necesarios para copiar bases de datos en SQL Azure
CREATE DATABASE MyNewDB AS COPY OF MyOldDB
Ejecuto este comando con el inicio de sesión de administrador (primer inicio de sesión al crear un servidor). Mi pregunta: ¿Cuáles son los permisos mínimos que un nuevo inicio de sesión necesitaría para ejecutar el comando anterior?
Hasta el momento esto es lo que he hecho:
-- 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'; --
Y el resultado cuando se ejecuta el comando anterior CREAR BASE DE DATOS:
CREATE DATABASE permission denied in database 'MyOldDB'.
Hola, debe estar conectado al maestro cuando ejecuta el comando CREATE DATABASE. También asegúrese de que la cuenta que usa sea parte de la función de base de datos dbmanager (en el maestro); este es el permiso que necesitas Aquí está la documentación de MSDN: http://msdn.microsoft.com/en-us/library/windowsazure/ee336274.aspx –
Sí, estoy ejecutando el comando Crear base de datos desde 'maestro'. Sí, el nuevo inicio de sesión es dbmanager en el maestro. –
Intenté tus pasos y también agregué DBCreator como propietario de db de la base de datos de origen. Tengo el mismo error. Entonces recordé que había una restricción adicional ... básicamente, el usuario que emite la declaración CREATE DATABASE debe ser el usuario "original" que creó la base de datos de origen. –