Makale numarası: 301292 - Son Gözden Geçirme: 20 Aralık 2005 Salı - Gözden geçirme: 5.3

DBCC dizinleri ile hesaplanan sütunlar üzerinde çalışırken SET OPTION dikkat edilecek noktalar

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.
Hepsini aç | Hepsini kapa

Belirtiler

DBCC CHECKTABLE, DBCC DBREINDEX ve DBCC CHECKDB veritabanı, dizin, hesaplanmış bir sütun içeren bir tablo içeriyorsa, aşağıdaki hata iletisiyle başarısız olabilir:
Yanlış ayarlar aşağıdaki SET seçeneğiniz DBCC başarısız oldu: 'Quoted_ıdentıfıer, ARıTHABORT'.

Daha fazla bilgi

Bu davranış tasarım yüzündendir.

Hesaplanmış bir sütun üzerinde bir dizin varsa veritabanı veya tablo içinde DBCC CHECKDB DBREINDEX ve CHECKTABLE aşağıdaki SET seçenekleri şunları gerektirir:
  • ARITHABORT CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER, ANSI_NULLS, ANSI_PADDING ve ANSI_WARNINGS ON olarak ayarlanmış olması gerekir.
  • NUMERIC_ROUNDABORT KAPALı olarak ayarlanmalıdır.
Hata iletisinin CHECKDB veya CHECKTABLE bir SQL Server Agent işi veya bir bütünlük denetimi bir veritabanı bakım planı'ndaki Zamanlanmış ortaya olasılığı daha yüksektir. Varsayılan olarak SQL Server Agent QUOTED_IDENTIFIER veya ARITHABORT ayarlamadığı budur. DBCC CHECKTABLE ya da CHECKDB planlamak için bütünlük denetleyin, veritabanında bir SQL Server Agent iş oluşturmanız gerekir ve aşağıdaki örnekte olduğu gibi gerekli SET SEÇENEKLERI Transact-SQL komutu eklemelisiniz.
SET ARITHABORT ON
SET QUOTED_IDENTIFIER ON
DBCC CHECKTABLE(mytable)
go
				
Tüm veritabanında DBCC DBREINDEX çalıştırma hakkında bir örnek komut dosyası aşağıdadır.
SET ARITHABORT ON 
SET QUOTED_IDENTIFIER ON 
 
use MyDatabase  -- CHANGE THE DATABASE NAME
go 
declare @tabname sysname 
declare @dbstring varchar(300) 
declare @exec_string varchar(300) 
 
declare tabDBCC cursor for select table_name from information_schema.tables where table_type = 'base table' 
 
open tabDBCC 
fetch next from tabDBCC into @tabname 
 
select @dbstring = DB_NAME() 
print 'Starting DBCC DBREINDEX for database ' + upper(@dbstring) 
 
while (@@fetch_status = 0) 
  begin 
    print 'Reindexing table ' + upper(@tabname) 
    select @exec_string = 'dbcc dbreindex ([' + @tabname + '])' 
    exec(@exec_string) 
    fetch next from tabDBCC into @tabname 
  end 
close tabDBCC 
deallocate tabDBCC 
 
print 'Finished DBCC DBREINDEX for database ' + upper(@dbstring) go
Daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
902388  (http://support.microsoft.com/kb/902388/ ) Olay KIMLIĞI: 208 kaydedilebilir ve SQL Server 2000'de bir bakım planı oluşturmak için veritabanı Maintenance Plan Wizard'ı kullanmaya çalıştığınızda bir "DBCC başarısız oldu" hata iletisi kaydediliyor

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft SQL Server 2000 Standard Edition
Anahtar Kelimeler: 
kbmt kbprb KB301292 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:301292  (http://support.microsoft.com/kb/301292/en-us/ )