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)