|
|
|
Mesaj Başlığı |
"Executing the query "ALTER INDEX [index_adı] ON [dbo].[tablo_adı]
REORGANIZE WITH ( LOB_COMPACTION = ON ) " failed with the following error: "The
index "index_adı" (partition 1) on table "tablo_adı" cannot be reorganized
because page level locking is disabled.". Possible failure reasons: Problems with the query,
"ResultSet" property not set correctly, parameters not set correctly, or connection
not established correctly." |
|
Hata Açıklaması |
Bir veritabanındaki Index' ler için Index Reorganization işlemi yaptığınızda böyle bir hata mesajıyla karşılaşabilirsiniz. |
|
Çözüm |
Bu hatayı almanızın nedeni, ilgili Index' in ALLOW_PAGE_LOCKS özelliğinin kapalı
olmasıdır.
Veritabanınızda bulunan tüm Index' lerin hangilerinin ALLOW_PAGE_LOCKS özelliğinin
kapalı olup olmadığını görmek için şu sorguyu çalıştırabilirsiniz:
SELECT A.Name AS
InName,ob.Name AS DBName
FROM sys.indexes A
LEFT OUTER JOIN sys.objects ob
ON ob.object_id = A.object_id
WHERE ALLOW_PAGE_LOCKS = 0 AND ob.type
= 'U'
Bir Index' in ALLOW_PAGE_LOCKS özelliğini etkinleştirmeyi
SSMS arayüzünden de yapabilirsiniz, T-SQL ile de:
- SSMS: İlgili tablodaki Index üzerinde farenin sağ tuşuna tıklayın, açılan
menüden "Properties" öğesini seçin ve açılan penceredeki Options bölümünde bulunan
"Use page locks when accessing the index" seçeneğini işaretleyip OK düğmesine tıklayarak
Index Properties penceresini kapatın.
- T-SQL: İlgili Index' a ait bilgileri kullanarak aşağıdaki komutu çalıştırın:
ALTER INDEX <index_adı>
ON <tablo_adı> SET (ALLOW_PAGE_LOCKS
= ON)
|
|
SQL Server Versiyonu |
SQL Server 2005 |
|
İşletim Sistemi |
Bu sorunla tüm versiyonlarda
karşılaşılabilir. |
|