В настоящее время я работаю с SQL Server 2008 R2, и у меня есть только READ
доступ к нескольким таблицам, в которых хранятся данные о производстве.Разрешения на обновление SQL Server
Я нахожу, что во многих случаях, это было бы очень хорошо, если бы я мог запустить что-то вроде следующего, и получить общий рекорд отсчитать назад, что повлияло:
USE DB
GO
BEGIN TRANSACTION
UPDATE Person
SET pType = 'retailer'
WHERE pTrackId = 20
AND pWebId LIKE 'rtlr%';
ROLLBACK TRANSACTION
Однако, видя, как я не имеют UPDATE
разрешения, я не могу успешно запустить этот скрипт без получения:
Msg 229, Level 14, State 5, Line 5
The UPDATE permission was denied on the object 'Person', database 'DB', schema 'dbo'.
Мои вопросы:
- Есть ли способ, что мой счет в SQL Server можно настроить таким образом, что если я хочу, чтобы запустить
UPDATE
скрипт, он автоматически будет обернут в транзакции с откатом (поэтому данные фактически не влияет)
Я знаю, что могу сделать копию этих данных и запустить свой сценарий против локального экземпляра SSMS, но мне интересно, есть ли способ для этого.
Я отредактировал мой вопрос будет более сосредоточенным вокруг решения на основе пользовательского разрешения. Я бы хотел, чтобы наша ИТ-команда могла выполнить тот же самый запрос, но на самом деле это повлияло на набор данных ... если просто нет способа сделать это, тогда этого будет достаточно в качестве ответа также. – X3074861X