Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Можете ли да зададете съхранена процедура винаги да се изпълнява като конкретен потребител?

Искате да използвате EXECUTE AS в дефиницията на SP.

CREATE PROCEDURE dbo.MyProcedure
WITH EXECUTE AS 'domain\user'
AS
...

Като алтернатива можете да изпълните само определени команди като потребител в рамките на SP:

EXECUTE AS USER = 'Domain\User'
  <Commands>
REVERT

Втората опция може да е за предпочитане във вашата ситуация, за да предотвратите предоставянето на друг достъп за влизане в базата данни.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Извличане на числа от текст в SQL Server

  2. Имате нужда от помощ за намиране на правилната T-SQL заявка

  3. Екраниране на низ в SQL Server, така че да е безопасен за използване в израза LIKE

  4. Съхранена процедура без курсори

  5. Как да upsert (актуализирам или вмъкна) в SQL Server 2005