2010-05-20 67 views
1

有什麼辦法讓某個會話執行某個用戶的所有命令嗎?我不能使用execute as子句,因爲它不能被硬編碼。SQL服務器:冒充

我需要沿着這條僞線的東西:

ALTER SESSION SET會話ID = EXECUTING_USER SomeUser的

回答

1

EXECUTE AS可以接受的變量(2008年至少),這樣你就不必硬編碼名稱使用它。

DECLARE @username類型爲sysname = 'foobar的'

EXECUTE AS USER = @username

SELECT SESSION_USER

+0

但如何我可以將它設置爲整個會議?會話中的每個呼叫都應該按指定的用戶執行! – Falcon 2010-05-20 11:30:24