![](/img/trans.png)
[英]How to do a subtraction in a stored procedure in SQL Server 2008 R2
[英]How do I view the definition for a stored procedure that cannot be modified in SQL Server 2008 R2?
我試圖查看駐留在SQL Server 2008 R2中運行的數據庫中的存儲過程。 我在[dbName] > Programmability > Stored Procedures > dbo.[sprocName]
下找到了存儲過程,但它旁邊有一個小掛鎖圖標,當我右鍵單擊它來修改它時,修改選項顯示為灰色。
然后我嘗試通過查詢數據庫中的對象來訪問該定義,如下所示:
use [dbName];
select * from sys.sql_modules
where definition LIKE '%[sprocName]%'
這不會產生所需存儲過程的定義,但查詢確實適用於我已經可以修改的存儲過程。
如何在不獲得修改權限的情況下查看此存儲過程的定義?
看來Sproc實際上是基於以下錯誤消息加密的:
TITLE: Microsoft SQL Server Management Studio
------------------------------
Script failed for StoredProcedure 'dbo.[sprocName]'. (Microsoft.SqlServer.Smo)
------------------------------
ADDITIONAL INFORMATION:
Property TextHeader is not available for StoredProcedure '[dbo].[sprocName]'. This property may not exist for this object, or may not be retrievable due to insufficient access rights.
The text is encrypted. (Microsoft.SqlServer.Smo)
為了做到這一點,你需要擁有所有必要的權限(基本上是SA),但這里是一個你應該能夠遵循的網站來解決問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.