Azure SQL Управляемый экземпляр - PullRequest
0 голосов
/ 17 марта 2020

Кто-нибудь здесь пытался создать таблицу только для чтения в Azure SQL или Azure SQL Управляемом экземпляре? Я знаю, что с помощью поля вы создаете файловую группу, создаете таблицу в этой файловой группе и делаете эту файловую группу доступной только для чтения, но поскольку хранилище отличается в Azure SQL ...

Спасибо, Уилл ie

1 Ответ

0 голосов
/ 18 марта 2020

Мы не можем создать таблицу только для чтения напрямую, Azure SQL / Управляемый экземпляр не имеет этой функции. Но есть много способов добиться этого.

Самый простой способ - создать INSTEAD OF Trigger, чтобы сделать таблицу доступной только для чтения.

В таблице также можно определить INSTEAD OF TRIGGER. ограничить манипулирование данными пользователями.

Вот пример кода:

--Create sample table
CREATE TABLE FinancialTargetsForTrigger
(
ID int IDENTITY(1,1),
YearVal int,
QuarterVal int,
TargetVal int
)


--populate table with sample data
INSERT FinancialTargetsForTrigger
VALUES (2014,1,1789),
 (2014,2,3000),
 (2014,3,1100),
 (2014,4,2340),
 (2015,1,990),
 (2015,2,3420),
 (2015,3,2333),
 (2015,4,1123)


--create the INSTEAD OF Trigger to make table read only
 CREATE TRIGGER trg_FinancialTargetsForTrigger
 ON FinancialTargetsForTrigger
 INSTEAD OF INSERT,UPDATE,DELETE
 AS
 BEGIN
 RAISERROR ('This table is read only and cant be modified',16,1)
 END

Я проверил этот код в своей базе данных Azure SQL, и он хорошо работает.

enter image description here

Для получения дополнительной информации вы можете сослаться на этот документ Microsoft Советы SQLServer: Как сделать таблицу доступной только для чтения в базе данных . Это дает нам много способов.

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...