Revision history  [back]

السبب في هذه المشكلة غالبا هو Transaction Isolation Level
للتاكد قم بتنفيذ الاستعلام التالي:

SELECT CASE  
          WHEN transaction_isolation_level = 1 
             THEN 'READ UNCOMMITTED' 
          WHEN transaction_isolation_level = 2 
               AND is_read_committed_snapshot_on = 1 
             THEN 'READ COMMITTED SNAPSHOT' 
          WHEN transaction_isolation_level = 2 
               AND is_read_committed_snapshot_on = 0 THEN 'READ COMMITTED' 
          WHEN transaction_isolation_level = 3 
             THEN 'REPEATABLE READ' 
          WHEN transaction_isolation_level = 4 
             THEN 'SERIALIZABLE' 
          WHEN transaction_isolation_level = 5 
             THEN 'SNAPSHOT' 
          ELSE NULL
       END AS TRANSACTION_ISOLATION_LEVEL 
FROM   sys.dm_exec_sessions AS s
       CROSS JOIN sys.databases AS d
WHERE  session_id = @@SPID
  AND  d.database_id = DB_ID();

اذا كانت النتيجة اي شئ سوي READ COMMITED SNAPSHOT فهذا غالبا يعني انك بحاجة لتنفيذ الاستعلام التالي:
ملحوظة: يجب ايقاف تشغيل التومكات و ال SQL Server ثم قم بتشغيل السيكول و شغل الجملة التالية

USE [master];
DECLARE @kill varchar(8000) = '';  
SELECT @kill = @kill + 'kill ' + CONVERT(varchar(5), session_id) + ';'  
FROM sys.dm_exec_sessions
WHERE database_id  = db_id('DBNAME')

EXEC(@kill);
ALTER DATABASE DBNAME
SET READ_COMMITTED_SNAPSHOT ON;

ALTER DATABASE DBNAME
SET ALLOW_SNAPSHOT_ISOLATION ON;

ALTER DATABASE DBNAME
SET MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT ON;

اذا كانت نسخة ال sql server 2014 او اقل اقد تحدث معك مشكلة بسبب الجملة الاخيرة

ALTER DATABASE DBNAME
SET MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT ON;

قم بحذفها من الاستعلام و شغل مرة اخري اذا ظهرت معك رسالة خطأ

السبب في هذه المشكلة غالبا هو Transaction Isolation Level
للتاكد قم بتنفيذ الاستعلام التالي:

SELECT CASE  
          WHEN transaction_isolation_level = 1 
             THEN 'READ UNCOMMITTED' 
          WHEN transaction_isolation_level = 2 
               AND is_read_committed_snapshot_on = 1 
             THEN 'READ COMMITTED SNAPSHOT' 
          WHEN transaction_isolation_level = 2 
               AND is_read_committed_snapshot_on = 0 THEN 'READ COMMITTED' 
          WHEN transaction_isolation_level = 3 
             THEN 'REPEATABLE READ' 
          WHEN transaction_isolation_level = 4 
             THEN 'SERIALIZABLE' 
          WHEN transaction_isolation_level = 5 
             THEN 'SNAPSHOT' 
          ELSE NULL
       END AS TRANSACTION_ISOLATION_LEVEL 
FROM   sys.dm_exec_sessions AS s
       CROSS JOIN sys.databases AS d
WHERE  session_id = @@SPID
  AND  d.database_id = DB_ID();

اذا كانت النتيجة اي شئ سوي READ COMMITED SNAPSHOT فهذا غالبا يعني انك بحاجة لتنفيذ الاستعلام التالي:
ملحوظة: يجب ايقاف تشغيل التومكات و ال SQL Server ثم قم بتشغيل السيكول و شغل الجملة التالية

USE [master];
DECLARE @kill varchar(8000) = '';  
SELECT @kill = @kill + 'kill ' + CONVERT(varchar(5), session_id) + ';'  
FROM sys.dm_exec_sessions
WHERE database_id  = db_id('DBNAME')

EXEC(@kill);
ALTER DATABASE DBNAME
SET READ_COMMITTED_SNAPSHOT ON;

ALTER DATABASE DBNAME
SET ALLOW_SNAPSHOT_ISOLATION ON;

ALTER DATABASE DBNAME
SET MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT ON;

اذا كانت نسخة ال sql server 2014 او اقل اقد تحدث معك مشكلة بسبب الجملة الاخيرة

ALTER DATABASE DBNAME
SET MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT ON;

قم بحذفها من الاستعلام و شغل مرة اخري اذا ظهرت معك رسالة خطأ

السبب في هذه المشكلة غالبا هو Transaction Isolation Level
للتاكد قم بتنفيذ الاستعلام التالي:

SELECT CASE  
          WHEN transaction_isolation_level = 1 
             THEN 'READ UNCOMMITTED' 
          WHEN transaction_isolation_level = 2 
               AND is_read_committed_snapshot_on = 1 
             THEN 'READ COMMITTED SNAPSHOT' 
          WHEN transaction_isolation_level = 2 
               AND is_read_committed_snapshot_on = 0 THEN 'READ COMMITTED' 
          WHEN transaction_isolation_level = 3 
             THEN 'REPEATABLE READ' 
          WHEN transaction_isolation_level = 4 
             THEN 'SERIALIZABLE' 
          WHEN transaction_isolation_level = 5 
             THEN 'SNAPSHOT' 
          ELSE NULL
       END AS TRANSACTION_ISOLATION_LEVEL 
FROM   sys.dm_exec_sessions AS s
       CROSS JOIN sys.databases AS d
WHERE  session_id = @@SPID
  AND  d.database_id = DB_ID();

اذا كانت النتيجة اي شئ سوي READ COMMITED SNAPSHOT فهذا غالبا يعني انك بحاجة لتنفيذ الاستعلام التالي:
ملحوظة: يجب ايقاف تشغيل التومكات و ال SQL Server ثم قم بتشغيل السيكول و شغل الجملة التالية
USE [master];

USE [master];
DECLARE @kill varchar(8000) = '';  
SELECT @kill = @kill + 'kill ' + CONVERT(varchar(5), session_id) + ';'  
FROM sys.dm_exec_sessions
WHERE database_id  = db_id('DBNAME')

EXEC(@kill);
ALTER DATABASE DBNAME
SET READ_COMMITTED_SNAPSHOT ON;

ALTER DATABASE DBNAME
SET ALLOW_SNAPSHOT_ISOLATION ON;

ALTER DATABASE DBNAME
SET MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT ON;

السبب في هذه المشكلة غالبا هو Transaction Isolation Level
للتاكد قم بتنفيذ الاستعلام التالي:

SELECT CASE  
          WHEN transaction_isolation_level = 1 
             THEN 'READ UNCOMMITTED' 
          WHEN transaction_isolation_level = 2 
               AND is_read_committed_snapshot_on = 1 
             THEN 'READ COMMITTED SNAPSHOT' 
          WHEN transaction_isolation_level = 2 
               AND is_read_committed_snapshot_on = 0 THEN 'READ COMMITTED' 
          WHEN transaction_isolation_level = 3 
             THEN 'REPEATABLE READ' 
          WHEN transaction_isolation_level = 4 
             THEN 'SERIALIZABLE' 
          WHEN transaction_isolation_level = 5 
             THEN 'SNAPSHOT' 
          ELSE NULL
       END AS TRANSACTION_ISOLATION_LEVEL 
FROM   sys.dm_exec_sessions AS s
       CROSS JOIN sys.databases AS d
WHERE  session_id = @@SPID
  AND  d.database_id = DB_ID();

اذا كانت النتيجة اي شئ سوي READ COMMITED SNAPSHOT فهذا غالبا يعني انك بحاجة لتنفيذ الاستعلام التالي:
ملحوظة: يجب ايقاف تشغيل التومكات و ال SQL Server ثم قم بتشغيل السيكول و شغل الجملة التالية
USE [master];

DECLARE @kill varchar(8000) = '';  
SELECT @kill = @kill + 'kill ' + CONVERT(varchar(5), session_id) + ';'  
FROM sys.dm_exec_sessions
WHERE database_id  = db_id('DBNAME')

EXEC(@kill);
ALTER DATABASE DBNAME
SET READ_COMMITTED_SNAPSHOT ON;

ALTER DATABASE DBNAME
SET ALLOW_SNAPSHOT_ISOLATION ON;

ALTER DATABASE DBNAME
SET MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT ON;

السبب في هذه المشكلة غالبا هو Transaction Isolation Level
للتاكد قم بتنفيذ الاستعلام التالي:

SELECT CASE  
          WHEN transaction_isolation_level = 1 
             THEN 'READ UNCOMMITTED' 
          WHEN transaction_isolation_level = 2 
               AND is_read_committed_snapshot_on = 1 
             THEN 'READ COMMITTED SNAPSHOT' 
          WHEN transaction_isolation_level = 2 
               AND is_read_committed_snapshot_on = 0 THEN 'READ COMMITTED' 
          WHEN transaction_isolation_level = 3 
             THEN 'REPEATABLE READ' 
          WHEN transaction_isolation_level = 4 
             THEN 'SERIALIZABLE' 
          WHEN transaction_isolation_level = 5 
             THEN 'SNAPSHOT' 
          ELSE NULL
       END AS TRANSACTION_ISOLATION_LEVEL 
FROM   sys.dm_exec_sessions AS s
       CROSS JOIN sys.databases AS d
WHERE  session_id = @@SPID
  AND  d.database_id = DB_ID();

اذا كانت النتيجة اي شئ سوي READ COMMITED SNAPSHOT فهذا غالبا يعني انك بحاجة لتنفيذ الاستعلام التالي:
ملحوظة: يجب ايقاف تشغيل التومكات و ال SQL Server ثم قم بتشغيل السيكول و شغل الجملة التاليةالسابقة

ALTER DATABASE DBNAME
SET READ_COMMITTED_SNAPSHOT ON;

ALTER DATABASE DBNAME
SET ALLOW_SNAPSHOT_ISOLATION ON;

ALTER DATABASE DBNAME
SET MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT ON;

السبب في هذه المشكلة غالبا هو Transaction Isolation Level
للتاكد قم بتنفيذ الاستعلام التالي:

SELECT CASE  
          WHEN transaction_isolation_level = 1 
             THEN 'READ UNCOMMITTED' 
          WHEN transaction_isolation_level = 2 
               AND is_read_committed_snapshot_on = 1 
             THEN 'READ COMMITTED SNAPSHOT' 
          WHEN transaction_isolation_level = 2 
               AND is_read_committed_snapshot_on = 0 THEN 'READ COMMITTED' 
          WHEN transaction_isolation_level = 3 
             THEN 'REPEATABLE READ' 
          WHEN transaction_isolation_level = 4 
             THEN 'SERIALIZABLE' 
          WHEN transaction_isolation_level = 5 
             THEN 'SNAPSHOT' 
          ELSE NULL
       END AS TRANSACTION_ISOLATION_LEVEL 
FROM   sys.dm_exec_sessions AS s
       CROSS JOIN sys.databases AS d
WHERE  session_id = @@SPID
  AND  d.database_id = DB_ID();

اذا كانت النتيجة اي شئ سوي READ COMMITED SNAPSHOT فهذا غالبا يعني انك بحاجة لتنفيذ الاستعلام التالي:

ALTER DATABASE DBNAME<br/>
SET READ_COMMITTED_SNAPSHOT ON;

ALTER DATABASE DBNAME
SET ALLOW_SNAPSHOT_ISOLATION ON;

ALTER DATABASE DBNAME
SET MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT ON;

ملحوظة: يجب ايقاف تشغيل التومكات و ال SQL Server ثم قم بتشغيل السيكول و شغل الجملة السابقة

ALTER DATABASE DBNAME
SET READ_COMMITTED_SNAPSHOT ON;

ALTER DATABASE DBNAME
SET ALLOW_SNAPSHOT_ISOLATION ON;

ALTER DATABASE DBNAME
SET MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT ON;

السابقة

السبب في هذه المشكلة غالبا هو Transaction Isolation Level
للتاكد قم بتنفيذ الاستعلام التالي:

SELECT CASE  
          WHEN transaction_isolation_level = 1 
             THEN 'READ UNCOMMITTED' 
          WHEN transaction_isolation_level = 2 
               AND is_read_committed_snapshot_on = 1 
             THEN 'READ COMMITTED SNAPSHOT' 
          WHEN transaction_isolation_level = 2 
               AND is_read_committed_snapshot_on = 0 THEN 'READ COMMITTED' 
          WHEN transaction_isolation_level = 3 
             THEN 'REPEATABLE READ' 
          WHEN transaction_isolation_level = 4 
             THEN 'SERIALIZABLE' 
          WHEN transaction_isolation_level = 5 
             THEN 'SNAPSHOT' 
          ELSE NULL
       END AS TRANSACTION_ISOLATION_LEVEL 
FROM   sys.dm_exec_sessions AS s
       CROSS JOIN sys.databases AS d
WHERE  session_id = @@SPID
  AND  d.database_id = DB_ID();

اذا كانت النتيجة اي شئ سوي READ COMMITED SNAPSHOT UNCOMMITTED فهذا غالبا يعني انك بحاجة لتنفيذ الاستعلام التالي:

ALTER DATABASE DBNAME<br/>
SET READ_COMMITTED_SNAPSHOT ON;

ALTER DATABASE DBNAME
SET ALLOW_SNAPSHOT_ISOLATION ON;

ALTER DATABASE DBNAME
SET MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT ON;

ملحوظة: يجب ايقاف تشغيل التومكات و ال SQL Server ثم قم بتشغيل السيكول و شغل الجملة السابقة

السبب في هذه المشكلة غالبا هو Transaction Isolation Level
للتاكد قم بتنفيذ الاستعلام التالي:

SELECT CASE CASE<br/>  
          WHEN transaction_isolation_level = 1 
             THEN 'READ UNCOMMITTED' 
          WHEN transaction_isolation_level = 2 
               AND is_read_committed_snapshot_on = 1 
             THEN 'READ COMMITTED SNAPSHOT' 
          WHEN transaction_isolation_level = 2 
               AND is_read_committed_snapshot_on = 0 THEN 'READ COMMITTED' 
          WHEN transaction_isolation_level = 3 
             THEN 'REPEATABLE READ' 
          WHEN transaction_isolation_level = 4 
             THEN 'SERIALIZABLE' 
          WHEN transaction_isolation_level = 5 
             THEN 'SNAPSHOT' 
          ELSE NULL
       END AS TRANSACTION_ISOLATION_LEVEL 
FROM   sys.dm_exec_sessions AS s
       CROSS JOIN sys.databases AS d
WHERE  session_id = @@SPID
  AND  d.database_id = DB_ID();

اذا كانت النتيجة READ UNCOMMITTED فهذا غالبا يعني انك بحاجة لتنفيذ الاستعلام التالي:

ALTER DATABASE DBNAME<br/>
SET READ_COMMITTED_SNAPSHOT ON;

ALTER DATABASE DBNAME
SET ALLOW_SNAPSHOT_ISOLATION ON;

ALTER DATABASE DBNAME
SET MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT ON;

ملحوظة: يجب ايقاف تشغيل التومكات و ال SQL Server ثم قم بتشغيل السيكول و شغل الجملة السابقة

السبب في هذه المشكلة غالبا هو Transaction Isolation Level
للتاكد قم بتنفيذ الاستعلام التالي:

 SELECT CASE<br/>  
CASE
WHEN transaction_isolation_level = 1 THEN 'READ UNCOMMITTED' WHEN transaction_isolation_level = 2 AND is_read_committed_snapshot_on = 1 THEN 'READ COMMITTED SNAPSHOT' WHEN transaction_isolation_level = 2 AND is_read_committed_snapshot_on = 0 THEN 'READ COMMITTED' WHEN transaction_isolation_level = 3 THEN 'REPEATABLE READ' WHEN transaction_isolation_level = 4 THEN 'SERIALIZABLE' WHEN transaction_isolation_level = 5 THEN 'SNAPSHOT' ELSE NULL END AS TRANSACTION_ISOLATION_LEVEL FROM sys.dm_exec_sessions AS s CROSS JOIN sys.databases AS d WHERE session_id = @@SPID AND d.database_id = DB_ID();

اذا كانت النتيجة READ UNCOMMITTED فهذا غالبا يعني انك بحاجة لتنفيذ الاستعلام التالي:

ALTER DATABASE DBNAME<br/>
SET READ_COMMITTED_SNAPSHOT ON;
ON;<br/>

ALTER DATABASE DBNAME
DBNAME<br/>
SET ALLOW_SNAPSHOT_ISOLATION ON;
ON;<br/>

ALTER DATABASE DBNAME
DBNAME<br/>
SET MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT ON;
ON;<br/>

ملحوظة: يجب ايقاف تشغيل التومكات و ال SQL Server ثم قم بتشغيل السيكول و شغل الجملة السابقة

السبب في هذه المشكلة غالبا هو Transaction Isolation Level
للتاكد قم بتنفيذ الاستعلام التالي:

SELECT CASE
WHEN transaction_isolation_level = 1 THEN 'READ UNCOMMITTED' WHEN transaction_isolation_level = 2 AND is_read_committed_snapshot_on = 1 THEN 'READ COMMITTED SNAPSHOT' WHEN transaction_isolation_level = 2 AND is_read_committed_snapshot_on = 0 THEN 'READ COMMITTED' WHEN transaction_isolation_level = 3 THEN 'REPEATABLE READ' WHEN transaction_isolation_level = 4 THEN 'SERIALIZABLE' WHEN transaction_isolation_level = 5 THEN 'SNAPSHOT' ELSE NULL END AS TRANSACTION_ISOLATION_LEVEL FROM sys.dm_exec_sessions AS s CROSS JOIN sys.databases AS d WHERE session_id = @@SPID AND d.database_id = DB_ID();

اذا كانت النتيجة READ UNCOMMITTED فهذا غالبا يعني انك بحاجة لتنفيذ الاستعلام التالي:

 ALTER DATABASE DBNAME<br/>
DBNAME
    SET READ_COMMITTED_SNAPSHOT ON;<br/>

ON;

    ALTER DATABASE DBNAME<br/>
DBNAME
    SET ALLOW_SNAPSHOT_ISOLATION ON;<br/>

ON;

    ALTER DATABASE DBNAME<br/>
DBNAME
    SET MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT ON;<br/>
ON;

ملحوظة: يجب ايقاف تشغيل التومكات و ال SQL Server ثم قم بتشغيل السيكول و شغل الجملة السابقة