我創建了一個存儲過程,該存儲過程執行一系列需要特殊權限的操作,例如,創建數據庫,恢復數據庫等我創建此存儲過程與 execute as self
...因此它運行爲SA。這是因爲我想讓沒有任何權限的SQL用戶只能運行我定義的這些命令。 但是當我運行這個存儲過程,我得到 The server principal "sa" is not able to access the database "mo
我試圖執行一個sql查詢作爲另一個登錄使用'執行作爲'命令。我正在使用Linq to SQL,所以我生成了一個Data Context類,並且正在使用ExecuteQuery方法來運行'Execute As'SQL命令。然後我調用一個成功的Linq to SQL命令。然而,每一個後續查詢失敗,出現以下錯誤: A severe error occurred on the current comman
我們有一些SQL代理作業在我們的產品中運行。但是我們想要刪除SQL服務器代理,以便我們可以使用Sql server express。所以我正在編寫我們自己的服務來執行當前作爲作業運行的存儲過程。除「所有者」之外的其他所有內容都可以輕鬆複製。據我所知,當您在SQL Server代理中指定所有者時,作業將在該登錄上下文中運行。我使用.NET中的SqlCommand類來運行存儲過程。但該類不支持提供不同
我使用SYS.DM_EXEC_SESSIONS從我的系統獲取所有活動的SQL Server連接。我知道如果登錄的用戶沒有VIEW SERVER STATE權限,則只顯示登錄的用戶,否則顯示所有用戶。 但我不想爲所有基本用戶提供VIEW SERVER STATE權限(用於安全性),但我需要獲取所有用戶。所以,我提出以下函數EXECUTE AS選項: ALTER FUNCTION dbo.alluse