2017-01-13 41 views
1

什麼是我需要賦予SQL Server數據庫角色以獲得OBJECT_NAMEOBJECT_SCHEMA_NAME以返回值的最小權限和哪些對象而不是NULLSQL Server角色能夠使用OBJECT_NAME所需的權限

如果有一些奇怪的話,我可以只使用sys.objectssys.schemas但我認爲使用OBJECT_NAMEOBJECT_SCHEMA_NAME將是單值@@PROCID獲得更好的方法。

回答

0

按照MSDN頁都OBJECT_NAMEOBJECT_SCHEMA_NAME

需要對象的任何權限。要指定數據庫ID,CONNECT權限數據庫也是必需的,或來賓帳戶必須啓用。

所以答案是你需要任何權限對你傳遞給函數的對象。請確保你肯定是通過一個有效的object_id(這是INT類型,並對應於一個object_id值對象在當前或指定的數據庫),當你打電話的功能。

+0

將ViewDefinition授予處於不同用戶上下文中的調用過程與正在進行調用的位置有關。這並不理想,因爲它稍微暴露了比我們設想的更多細節。但是不需要其他權限。我們還修改了處理程序,以便如果它從OBJECT_NAME獲得NULL值,它將返回傳遞給它的ObjectID,以便我們至少可以手動查找它。 –

+0

太好了,很高興你找到了解決辦法。如果我的回答很有幫助,請隨時將其標記爲已接受。 – 3N1GM4