Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 права на восстановление (restore database)  [new]
elisey1836
Member

Откуда:
Сообщений: 12
Необходимо ограничить права на создание новых баз, при этом существующие можно восстанавливать.
На msdn сказано:
автор
Если база данных существует, разрешения на выполнение инструкции RESTORE по умолчанию предоставлены членам предопределенных ролей сервера sysadmin и dbcreator , а также владельцу базы данных (dbo) (для параметра FROM DATABASE_SNAPSHOT база данных всегда существует).

Дал права db_owner на базу. Через GUI после выбора файла backup sets to restore пустой. Восстановить базу не получается.
Если делать скриптом
restore database db from DISK = 'X:\DB20181116.bak' WITH  FILE = 1, 
MOVE N'DB' TO N'X:\DB.mdf',  MOVE N'DB_log' TO N'Y:\db_log.ldf', REPLACE

восстановить получается.
Почему в GUI не виден backup sets to restore, можно ли это изменить не давая sysadmin и dbcreator?
16 ноя 18, 14:04    [21736365]     Ответить | Цитировать Сообщить модератору
 Re: права на восстановление (restore database)  [new]
AndrF
Member

Откуда:
Сообщений: 2194
elisey1836
Если делать скриптом восстановить получается.


Если посмотрите профайлером, то наверняка увидите что через GUI база вначале удаляется, а потом создается. Поэтому чтобы работать через GUI вам нужны права dbcreator. Ну а скриптом можно обойтись и без них. Но если юзеру понадобится восстановить в новую базу, то он побежит к вам...
16 ноя 18, 14:10    [21736378]     Ответить | Цитировать Сообщить модератору
 Re: права на восстановление (restore database)  [new]
elisey1836
Member

Откуда:
Сообщений: 12
Странно почему через GUI backup sets не читает из файла пока не дашь права dbcreator.
16 ноя 18, 14:30    [21736407]     Ответить | Цитировать Сообщить модератору
 Re: права на восстановление (restore database)  [new]
AndrF
Member

Откуда:
Сообщений: 2194
Инструкции RESTORE — FILELISTONLY (Transact-SQL):

Разрешения

В SQL Server 2008 и более поздних версиях, чтобы получить сведения о резервном наборе данных или устройстве резервного копирования, необходимо разрешение CREATE DATABASE.
16 ноя 18, 15:23    [21736493]     Ответить | Цитировать Сообщить модератору
 Re: права на восстановление (restore database)  [new]
AndrF
Member

Откуда:
Сообщений: 2194
В общем, возьмите за данность что для восстановления файлов через GUI надо выдавать dbcreator по любому.
16 ноя 18, 15:25    [21736496]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить