ID Artikel: 301292 - Kajian Terakhir: 24 September 2011 - Revisi: 2.0

MENGATUR pilihan pertimbangan ketika menjalankan DBCC dengan indeks pada kolom dihitung

Tips SistemThis article applies to a different operating system than the one you are using. Article content that may not be relevant to you is disabled.
Perbesar semua | Perkecil semua

GEJALA

DBCC CHECKTABLE, DBCC DBREINDEX, dan DBCC CHECKDB mungkin gagal dengan pesan galat berikut jika database berisi meja yang memiliki indeks pada kolom dihitung:
DBCC gagal karena SET pilihan berikut memiliki pengaturan yang salah: 'QUOTED_IDENTIFIER, ARITHABORT'.

INFORMASI LEBIH LANJUT

Perilaku ini sesuai rancangannya.

DBCC CHECKDB, DBREINDEX, dan CHECKTABLE memerlukan SET pilihan berikut jika indeks pada kolom dihitung ada di database atau meja:
  • ARITHABORT, CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER, ANSI_NULLS, ANSI_PADDING, dan ANSI_WARNINGS harus diatur ke ON.
  • NUMERIC_ROUNDABORT harus diatur ke mati.
Pesan galat ini lebih mungkin terjadi jika CHECKDB atau CHECKTABLE yang dijadwalkan dari pekerjaan SQL Server agen atau dari integritas Periksa dalam rencana pemeliharaan Database. Hal ini karena secara default SQL Server agen tidak ditetapkan QUOTED_IDENTIFIER atau ARITHABORT. Untuk menjadwalkan DBCC CHECKTABLE atau CHECKDB integritas Periksa pada database, Anda harus membuat SQL Server agen pekerjaan dan dalam perintah Transact-SQL Anda harus menambahkan diperlukan MENETAPKAN pilihan seperti dalam contoh berikut.
SET ARITHABORT ON
SET QUOTED_IDENTIFIER ON
DBCC CHECKTABLE(mytable)
go
				
Berikut adalah script contoh yang menggambarkan bagaimana menjalankan DBCC DBREINDEX di seluruh database.
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
Untuk informasi selengkapnya, klik nomor artikel berikut untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
902388  (http://support.microsoft.com/kb/902388/ ) ID Peristiwa: 208 dapat login, dan log pesan galat "DBCC gagal" saat Anda mencoba menggunakan Wisaya rencana pemeliharaan Database untuk membuat rencana pemeliharaan dalam SQL Server 2000

Berlaku bagi:
  • Microsoft SQL Server 2000 Standard Edition
Kata kunci: 
kbprb kbmt KB301292 KbMtid
Penerjemahan MesinPenerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:301292  (http://support.microsoft.com/kb/301292/en-us/ )