-1

しばらくすると、SQL Server 2012 データベースで奇妙な動作が発生します。一部のクエリは実行されません。単純な選択を含むクエリです。また、ALTER PROCEDURES へのクエリは実行されません (実行された後、キャンセルするまで実行が停止します)。

どのテーブルがロックされているかを確認する方法を実行しましたが、表示されるのは次の1つだけです。

sysobjvalues KEY (ec05837cd075) S 共有

この状況は、SQL Server サービスを再起動するとすぐに安定します。

データベースには、SELECT を許可するテーブルと許可しないテーブルがあります。いくつかのロックが原因だと思いましたが、ロックを確認するためのクエリでは、db テーブルのいずれかがロックされていることが示されません。この奇妙な動作の原因は何ですか?

ところで:ロック情報を取得するために実行するクエリは次のとおりです。

    選択する  
        object_name (P.object_id) を TableName として
        、resource_type
        、resource_description
        、request_mode
        、CASE REQUEST_MODE
                        WHEN 'S' THEN 'Shared'
                        WHEN 'U' THEN '更新'
                        WHEN 'X' THEN 'Exclusive'
                        'IS' THEN 'Intent Shared' の場合
                        WHEN 'IU' THEN 'Intent Update'
                        WHEN 'IX' THEN 'Intent Exclusive'
                        WHEN 'SIU' THEN 'Shared Intent Update'
                        WHEN 'SIX' THEN 'Shared Intent Exclusive'
                        WHEN 'UIX' THEN 'Update Intent Exclusive'
                        WHEN 'BU' THEN '一括更新'
                        WHEN 'RangeS_S' THEN '共有範囲 S'
                        WHEN 'RangeS_U' THEN '共有範囲 U'
                        WHEN 'RangeI_N' THEN '範囲の挿入'
                        WHEN 'RangeI_S' THEN '範囲 S を挿入'
                        WHEN 'RangeI_U' THEN '範囲 U を挿入'
                        WHEN 'RangeI_X' THEN '範囲 X を挿入'
                        WHEN 'RangeX_S' THEN '排他的範囲 S'
                        WHEN 'RangeX_U' THEN '排他範囲 U'
                        WHEN 'RangeX_X' THEN '排他的範囲 X'
                        WHEN 'SCH-M' THEN 'スキーマ変更'
                        WHEN 'SCH-S' THEN 'スキーマ安定性'

            その他のヌル
            END AS REQUEST_LOCK_MODE

    FROM sys.dm_tran_locks AS L
           sys.partitions AS P に参加する
            L.resource_associated_entity_id = p.hobt_idで

ありがとう

4

1 に答える 1