Разрешение на удаление объекта базы данных для пользователя на Azure SQL сервере - PullRequest
0 голосов
/ 09 апреля 2020

Я хотел бы знать, как мы можем запретить пользователю удалять объект базы данных, который находится в Azure SQL База данных.

I Создан новый пользователь с помощью приведенного ниже сценария

-- Create a user for the server who has access for Read and Write in the Database
-- Use Master DB
-- Create SQL User for login
USE master
GO
CREATE LOGIN arzscosqlsrvproddev with PASSWORD = 'pass@rprodsrv'
GO
-- Add the user to each database which you are working
CREATE USER [arzscosqlsrvproddev] FOR LOGIN [arzscosqlsrvproddev] WITH DEFAULT_SCHEMA = dbo;
GO

-- Use Specific database
-- Add the user to each database which you are working

CREATE USER [arzscosqlsrvproddev] FOR LOGIN [arzscosqlsrvproddev] WITH DEFAULT_SCHEMA = dbo;
GO
-- Add Role for Reading and Writing to the database
CREATE ROLE [db_executor] AUTHORIZATION [dbo];
GO
GRANT EXECUTE TO [db_executor]
GO
ALTER ROLE db_datareader ADD MEMBER [arzscosqlsrvproddev]
GO
ALTER ROLE db_datawriter ADD MEMBER [arzscosqlsrvproddev]
GO
ALTER ROLE db_executor ADD MEMBER [arzscosqlsrvproddev]
GO
GRANT ALTER ON SCHEMA::dbo TO arzscosqlsrvproddev
GO

Однажды после создания я вошел с тем же пользователем в SQL Server Management Studio и обнаружил, что для объекта базы данных включена опция Удалить.

Пожалуйста, обратитесь к изображению по ссылке: https://i.stack.imgur.com/N2exS.png

Наше требование состоит в том, чтобы создать пользователя, который должен иметь права на

  1. Выполнять запросы, такие как Выбор, Обновление, Вставка.
  2. Выполнение хранимой процедуры , Функция, Триггер, Представления
  3. Создание и изменение хранимой процедуры, Функция, Триггер, Представления
  4. Выполнение сценариев изменения таблицы [Для включения новых столбцов, для добавления / удаления ограничений]
...