2014-01-27 22 views
0

SQL服務器推斷許可....做一個存儲過程不是在內部運作

長期以來,我一直假設下,給予存儲過程EXEC的主要手段是,SP可以做任何需要做的,可以選擇返回結果。

我正在開發2012年的數據庫。我創建了一個SP並將exec授予SQL登錄名。 用戶收到錯誤消息。 我還必須授予我在SP中使用的表格和函數的權利。

我的世界觀也認爲,意見和功能沒有以這種方式轉讓權利。

有什麼改變?我是否一直在虛假的假裝下操作?

我已經搜索了一個答案,但似乎無法找到一篇文章,討論這個話題。

有什麼想法?

感謝

格雷格

+1

是否存在與存儲過程不同的數據庫中的任何表?默認情況下,SQL Server中禁用了跨數據庫[所有權鏈接](http://msdn.microsoft.com/zh-cn/library/ms188676.aspx)。 – GarethD

+0

同一數據庫。但不同的模式。所有權鏈接是我需要搜索的術語。感謝那。不同的模式是這不符合我預期的原因。 – greg

+1

沒問題。我懷疑你將需要知道的一切,並且可能會在Erland Sommarskog的[本文](http://www.sommarskog.se/grantperm.html)中找到更多。 – GarethD

回答

0

Databaes鏈是解決這些問題類型的概念。 在2005年的轉發中,對象所有者的概念成爲保存對象的模式的概念。

在我的具體情況下,存儲過程在一個模式中,函數在另一個模式中,而表格在另一個模式中。因此需要這些多筆贈款。

我從來沒有真正在這個任務之前使用模式。多數民衆贊成他們在這裏做事情,那沒關係。因此,我對這種行爲感到驚訝。

Greg

相關問題