2017-07-12 17 views
1

FN_ListExtendedProperty関数を使用してSQL 2008 R2データベースからMS_DESCRIPTION拡張プロパティを取得しようとしていますが、クエリで結果が返されません。 SMSで同じクエリを実行すると、正常に動作します。このフィールドを取得する別の/より良い方法はありますか?sqlsrv_queryを使用してMS_DESCRIPTIONを取得できない

- 編集 -

私は次のクエリを試みることsqlsrv_queryを使用しています。 sqlsrv_field_metadataの使用を避けたいのは、sqlsrv_query関数がデータベースへの直接アクセスを提供しないクラスによって処理され、レコードセットを2次元配列として返すためです。

問合せ:

SELECT 
    CAST(Value AS VarChar(255)) AS [Label] 

FROM 
    FN_ListExtendedProperty('MS_DESCRIPTION', 'schema', 'dbo', 'table', 'TeamMemberPrivileges', 'column', NULL) 
+1

'SELECT CAST(varchar型として値(255)) ( 'dbo.TeamMemberPrivileges')とminor_id = 1およびname = 'MS_DESCRIPTION' ' – lad2025

+0

minor_idを削除してdb名を追加しなければなりませんでした。 – illmortem

答えて

1

あなたが直接sys.extended_properites問い合わせることができます:sys.extended_propertiesの[ラベル] AS major_id = OBJECT_IDを

SELECT CAST(Value AS VarChar(255)) AS [Label] 
FROM sys.extended_properties 
WHERE major_id = OBJECT_ID('dbo.TeamMemberPrivileges') AND name ='MS_DESCRIPTION' 
+0

完璧に動作します、ありがとうございます。どのような状況でminor_idを使用しますか? – illmortem

+1

@illmortem 'FN_ListExtendedProperty( 'MS_DESCRIPTION'、 'schema'、 'dbo'、 'table'、 'TeamMemberPrivileges'、 'column'、NULL)'を 'level2_object_type'で' COLUMN'に持っています。私はそれを 'minor_id'に翻訳しました' class = 1の場合、minor_idはカラムの場合はcolumn_id、objectなら '0 'です。しかし、あなたはそれをスキップすることができます。 – lad2025

関連する問題