execute-as

    0熱度

    1回答

    我有一個存儲過程,它具有EXECUTE AS另一個具有非常有限訪問權限的用戶。當我運行該存儲過程時,我無法從OBJECT_NAME(@@ PROCID)獲得結果。 @@ PROCID確實有價值,所以這是查找失敗。 我認爲這是一個權限問題,所以有人可以告訴我存儲過程的名稱從哪裏獲得?也許我可以通過向EXECUTE AS用戶授予一些SELECT權限來解決我的問題。 如果有人有任何其他的想法,LMK。我

    7熱度

    2回答

    我創建了一個存儲過程,該存儲過程執行一系列需要特殊權限的操作,例如,創建數據庫,恢復數據庫等我創建此存儲過程與 execute as self ...因此它運行爲SA。這是因爲我想讓沒有任何權限的SQL用戶只能運行我定義的這些命令。 但是當我運行這個存儲過程,我得到 The server principal "sa" is not able to access the database "mo

    2熱度

    1回答

    傍晚, 我想就我們遇到的問題進行一些實際確認。 我們有一個K2/SourceCode解決方案,它將成功使用EXECUTE AS和Sql Server 2008 R2。 我們無法直接控制該解決方案的實現方式,即我們無法修改提交給Sql Server引擎的查詢。我們當然可以,捕捉它們使用探查,他們往往會遵循這個模式: DECLARE @cookie VARBINARY(100); EXECUTE A

    2熱度

    4回答

    我在使用混合模式身份驗證的Microsoft SQL Server 2008 Express實例中有一個名爲MyDB的數據庫。使用數據庫MyDB的應用程序當前使用Windows身份驗證使用當前用戶的Windows憑據進行連接。此登錄名是「公共」服務器角色的成員,並且有一個用戶映射到MyDB數據庫中。此數據庫用戶是db_datareader和db_datawriter數據庫角色的成員。 我想要的是,

    2熱度

    3回答

    我試圖執行一個sql查詢作爲另一個登錄使用'執行作爲'命令。我正在使用Linq to SQL,所以我生成了一個Data Context類,並且正在使用ExecuteQuery方法來運行'Execute As'SQL命令。然後我調用一個成功的Linq to SQL命令。然而,每一個後續查詢失敗,出現以下錯誤: A severe error occurred on the current comman

    0熱度

    2回答

    我們有一些SQL代理作業在我們的產品中運行。但是我們想要刪除SQL服務器代理,以便我們可以使用Sql server express。所以我正在編寫我們自己的服務來執行當前作爲作業運行的存儲過程。除「所有者」之外的其他所有內容都可以輕鬆複製。據我所知,當您在SQL Server代理中指定所有者時,作業將在該登錄上下文中運行。我使用.NET中的SqlCommand類來運行存儲過程。但該類不支持提供不同

    0熱度

    1回答

    我使用SYS.DM_EXEC_SESSIONS從我的系統獲取所有活動的SQL Server連接。我知道如果登錄的用戶沒有VIEW SERVER STATE權限,則只顯示登錄的用戶,否則顯示所有用戶。 但我不想爲所有基本用戶提供VIEW SERVER STATE權限(用於安全性),但我需要獲取所有用戶。所以,我提出以下函數EXECUTE AS選項: ALTER FUNCTION dbo.alluse

    0熱度

    1回答

    我剛開始看到一個實現安全性的系統,與標準稍有不同。 他們創建系統(其中有大約32K現在)的每個用戶一個新的SQL用戶。每個查詢都是通過最初使用SA帳戶的連接發送的(不要陷入這種困境),然後在知道用戶是誰之後,將使用EXECUTE AS USER查詢。 既然有這麼多的用戶,創建新用戶和交換有着顯着的性能命中,該公司正在尋求改善的情況。 的幾點: - SQL代碼是動態的SQL(不存儲過程) - 最初的