READ
現在、SQL Server 2008 R2 を使用していますが、運用データを格納するいくつかのテーブルにしかアクセスできません。
多くの場合、次のようなものを実行して、影響を受けたレコードの合計数を取得できれば非常に便利であることがわかりました。
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 インスタンスに対してスクリプトを実行できることはわかっていますが、これを達成するためのアクセス許可ベースの方法があるかどうか疑問に思っています。