Pemeriksa Konsistensi Database (DBCC) untuk Analysis Services
Berlaku untuk: SQL Server Analysis Services Azure Analysis Services
Fabric/Power BI Premium
DBCC menyediakan validasi database sesuai permintaan untuk database Multidimensi dan Tabular pada instans Analysis Services. Anda dapat menjalankan DBCC di jendela kueri MDX atau XMLA di SQL Server Management Studio (SSMS) dan melacak output DBCC baik dalam sesi SQL Server Profiler atau xEvent di SSMS.
Perintah mengambil definisi objek dan mengembalikan tataan hasil kosong atau informasi kesalahan terperinci jika objek rusak. Dalam artikel ini, Anda akan mempelajari cara menjalankan perintah, menginterpretasikan hasil, dan mengatasi masalah apa pun yang muncul.
Untuk database Tabular, pemeriksaan konsistensi yang dilakukan oleh DBCC setara dengan validasi bawaan yang terjadi secara otomatis setiap kali Anda memuat ulang, menyinkronkan, atau memulihkan database. Sebaliknya, pemeriksaan konsistensi untuk database Multidmensional hanya terjadi saat Anda menjalankan DBCC sesuai permintaan.
Rentang pemeriksaan validasi akan bervariasi menurut mode, dengan database Tabular tunduk pada rentang pemeriksaan yang lebih luas.
Karakteristik beban kerja DBCC juga bervariasi menurut mode server. Periksa operasi pada database Multidemia melibatkan pembacaan data dari disk, membangun indeks sementara untuk perbandingan dengan indeks aktual -- yang semuanya membutuhkan waktu jauh lebih lama untuk diselesaikan.
Sintaks perintah untuk DBCC menggunakan metadata objek khusus untuk jenis database yang Anda periksa:
Database tingkat kompatibilitas multidansa + pra-SQL Server 2016 Tabular 1100 atau 1103 dijelaskan dalam konstruksi pemodelan multididensial seperti cubeID, measuregroupID, dan partitionID.
Metadata untuk database model Tabular baru pada tingkat kompatibilitas 1200 dan yang lebih tinggi terdiri dari deskriptor seperti TableName dan PartitionName.
DBCC untuk Analysis Services akan dijalankan pada database Analysis Services apa pun pada tingkat kompatibilitas apa pun, selama database berjalan pada instans SQL Server 2016. Pastikan Anda menggunakan sintaks perintah yang tepat untuk setiap jenis database.
Catatan
Jika Anda terbiasa dengan DBCC (Transact-SQL), Anda akan dengan cepat melihat bahwa DBCC di Analysis Services memiliki cakupan yang jauh lebih sempit. DBCC di Analysis Services adalah satu perintah yang melaporkan secara eksklusif tentang kerusakan data di seluruh database atau pada objek individual. Jika Anda memiliki tugas lain, seperti mengumpulkan informasi, coba gunakan skrip AMO PowerShell atau XMLA sebagai gantinya.
Persyaratan izin
Anda harus menjadi database Analysis Services atau administrator server (anggota peran server) untuk menjalankan perintah. Lihat Memberikan izin database (Analysis Services) atau Memberikan hak admin server ke instans Analysis Services untuk mendapatkan petunjuk.
Sintaks perintah
Database tabular pada tingkat kompatibilitas 1200 dan yang lebih tinggi menggunakan metadata tabular untuk definisi objek. Sintaks DBCC lengkap untuk database tabular yang dibuat pada tingkat fungsi SQL Server 2016 diilustrasikan dalam contoh berikut.
Perbedaan utama antara kedua sintaks termasuk namespace XMLA yang lebih baru, tidak ada <elemen Object> , dan tidak ada <elemen Model> (masih hanya ada satu model per database).
<DBCC xmlns="http://schemas.microsoft.com/analysisservices/2014/engine">
<DatabaseID>MyTabular1200DB_7811b5d8-c407-4203-8793-12e16c3d1b9b</DatabaseID>
<TableName>FactSales</TableName>
<PartitionName>FactSales 4</PartitionName>
</DBCC>
Anda dapat menghilangkan objek tingkat bawah, seperti nama tabel atau partisi, untuk memeriksa seluruh skema.
Anda bisa mendapatkan nama objek dan DatabaseID dari Management Studio, melalui halaman properti dari setiap objek.
Sintaks perintah untuk database Multidmensional dan Tabular 110x
DBCC menggunakan sintaks yang identik untuk database multidimensi serta tabular 1100 dan 1103. Anda dapat menjalankan DBCC terhadap objek database tertentu, termasuk seluruh database. Lihat Object Element (XMLA) untuk informasi selengkapnya tentang definisi objek.
<DBCC xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
<Object>
<DatabaseID>AdventureWorksDW2014Multidimensional-EE</DatabaseID>
<CubeID>Adventure Works</CubeID>
<MeasureGroupID>Fact Internet Sales 1</MeasureGroupID>
<PartitionID>Internet_Sales_2006</PartitionID>
</Object>
</DBCC>
Untuk menjalankan DBCC pada objek yang lebih tinggi pada rantai objek, hapus elemen ID objek tingkat bawah yang tidak Anda perlukan:
<DBCC xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
<Object>
<DatabaseID>AdventureWorksDW2014Multidimensional-EE</DatabaseID>
<CubeID>Adventure Works</CubeID>
</Object>
</DBCC>
Untuk database 110x tabular, sintaks definisi objek dimodelkan setelah sintaks perintah Proses (khususnya, dalam cara tabel dipetakan ke dimensi dan grup pengukuran).
CubeID memetakan ke ID model, yaitu Model.
MeasureGroupID memetakan ke ID tabel.
PartitionID memetakan ke ID partisi.
Penggunaan
Di SQL Server Management Studio, Anda dapat memanggil DBCC menggunakan jendela kueri MDX atau XMLA. Selain itu, Anda dapat menggunakan SQL Server 2017 Profiler atau Analysis Services xEvents untuk melihat output DBCC. Perhatikan bahwa pesan SSAS DBCC tidak dilaporkan ke log peristiwa aplikasi Windows atau file msmdsrv.log.
DBCC memeriksa kerusakan data fisik, serta kerusakan data logis yang terjadi ketika anggota yatim piatu ada di segmen. Database harus diproses sebelum Anda bisa menjalankan DBCC. Ini melewati partisi jarak jauh, kosong, atau tidak diproses.
Perintah berjalan dalam transaksi baca, dan dengan demikian dapat ditendang oleh batas waktu penerapan paksa. Pemeriksaan partisi dijalankan secara paralel.
Hidupkan ulang layanan mungkin diperlukan untuk mengambil kesalahan kerusakan yang telah terjadi sejak mulai ulang layanan terakhir. Menyambungkan kembali ke server tidak cukup untuk mengambil perubahan.
Menjalankan perintah DBCC di Management Studio
Untuk kueri ad hoc, buka jendela kueri MDX atau XMLA di SQL Server Management Studio. Untuk melakukan ini, klik kanan database | Kueri | BaruXMLA) untuk menjalankan perintah dan membaca output.
Tab Hasil akan menunjukkan tataan hasil kosong (seperti yang ditunjukkan pada cuplikan layar) jika tidak ada masalah yang terdeteksi.
Tab Pesan menyediakan informasi detail tetapi tidak selalu dapat diandalkan untuk database yang lebih kecil. Pesan status terkadang dipangkas, menunjukkan perintah selesai, tetapi tanpa status periksa pesan pada setiap objek. Laporan pesan umum mungkin terlihat mirip dengan yang ditunjukkan di bawah ini.
Pesan yang dilaporkan dari DBCC untuk pemeriksaan validasi kubus
Executing the query ...
READS, 0
READ_KB, 0
WRITES, 0
WRITE_KB, 0
CPU_TIME_MS, 0
ROWS_SCANNED, 0
ROWS_RETURNED, 0
<DBCC xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
<Object>
<DatabaseID>AdventureWorksDW2014Multidimensional-EE</DatabaseID>
<CubeID>Adventure Works</CubeID>
</Object>
</DBCC>
Started checking segment indexes for the 'Internet_Sales_2011' partition.
Started checking segment indexes for the 'Internet_Sales_2012' partition.
Finished checking segment indexes for the 'Internet_Sales_2011' partition.
Started checking segment indexes for the 'Internet_Sales_2013' partition.
Finished checking segment indexes for the 'Internet_Sales_2012' partition.
Started checking segment indexes for the 'Internet_Sales_2014' partition.
Started checking segment indexes for the 'Internet_Orders_2011' partition.
Finished checking segment indexes for the 'Internet_Sales_2014' partition.
Started checking segment indexes for the 'Internet_Orders_2012' partition.
Started checking segment indexes for the 'Internet_Orders_2013' partition.
Finished checking segment indexes for the 'Internet_Orders_2012' partition.
...
Run complete
Output saat menjalankan DBCC terhadap versi Analysis Services yang lebih lama
DBCC hanya didukung pada database yang berjalan pada instans SQL Server 2017. Menjalankan perintah pada sistem yang lebih lama akan mengembalikan kesalahan ini.
Executing the query ...
The DBCC element at line 7, column 87 (namespace http://schemas.microsoft.com/analysisservices/2003/engine) cannot appear under Envelope/Body/Execute/Command.
Execution complete
Lacak output DBCC di SQL Server Profiler
Anda dapat melihat output DBCC dalam jejak Profiler yang menyertakan peristiwa Laporan Kemajuan (Laporan Kemajuan Dimulai, Laporan Kemajuan Saat Ini, Laporan Kemajuan Berakhir, dan Kesalahan Laporan Kemajuan).
Mulai pelacakan. Lihat Menggunakan SQL Server Profiler untuk Memantau Analysis Services untuk bantuan tentang cara menggunakan SQL Server Profiler dengan Analysis Services.
Pilih Perintah Mulai dan Akhir Perintah ditambah salah satu atau semua Peristiwa Laporan Kemajuan .
Jalankan perintah DBCC di Management Studio di jendela kueri XMLA atau MDX, menggunakan sintaks yang disediakan di bagian sebelumnya.
Dalam SQL Server Profiler, aktivitas DBCC ditunjukkan melalui peristiwa Perintah yang memiliki subkelas peristiwa DBCC:
Kode peristiwa 32 adalah eksekusi DBCC.
Kode peristiwa 64 adalah laporan kemajuan DBCC pada objek individual.
Kode peristiwa 63 adalah pemeriksaan segmen untuk objek multidmensional.
Untuk kedua subkelas peristiwa, tinjau nilai TextData untuk pesan yang dikembalikan oleh DBCC.
Pesan status dimulai dengan "Memeriksa konsistensi <objek>" , "Mulai memeriksa <objek>", atau "Selesai memeriksa <objek>".
Catatan
Dalam CTP 3.0, objek diidentifikasi dengan nama internal. Misalnya, hierarki Kategori diartikulasikan sebagai H$Categories-objectID<>. Nama internal harus diganti dengan nama yang mudah diingat pengguna dalam CTP mendatang.
Pesan kesalahan tercantum di bawah ini.
Melacak output DBCC dalam sesi xEvent di SSMS
Sesi acara yang diperluas dapat menggunakan peristiwa profiler atau xEvents. Lihat bagian sebelumnya untuk panduan tentang menambahkan peristiwa Laporan Perintah dan Kemajuan .
Mulai sesi dengan mengklik kananSesi>BaruManajemen> Peristiwa >Yang DiperluasDatabase>. Lihat Memantau Analysis Services dengan SQL Server Extended Events untuk informasi selengkapnya.
Pilih salah satu atau semua Peristiwa Laporan Kemajuan untuk kategori peristiwa Profiler atau peristiwa RequestProgress untuk kategori PureXevent.
Jalankan perintah DBCC di Management Studio di jendela kueri XMLA atau MDX, menggunakan sintaks yang disediakan di bagian sebelumnya.
Di SSMS, refresh folder Sesi. Klik kanan nama > sesi Tonton Data Langsung.
Tinjau nilai TextData untuk pesan yang dikembalikan oleh DBCC. TextData adalah properti bidang peristiwa dan memperlihatkan pesan status dan kesalahan yang dikembalikan oleh peristiwa.
Pesan status dimulai dengan "Memeriksa konsistensi <objek>" , "Mulai memeriksa <objek>", atau "Selesai memeriksa <objek>".
Pesan kesalahan tercantum di bawah ini.
Referensi: Pemeriksaan konsistensi dan kesalahan untuk database Multidmensional
Untuk database multidmensional, hanya indeks partisi yang divalidasi. Selama eksekusi, DBCC membangun indeks sementara untuk setiap partisi dan membandingkannya dengan indeks yang bertahan pada disk. Membangun indeks sementara memerlukan pembacaan semua data dari data partisi pada disk lalu menyimpan indeks sementara dalam memori untuk perbandingan. Mengingat beban kerja tambahan, server Anda mungkin mengalami konsumsi IO dan memori disk yang signifikan saat menjalankan eksekusi DBCC.
Deteksi kerusakan indeks multidmensional mencakup pemeriksaan berikut. Kesalahan dalam tabel ini muncul di jejak xEvent atau Profiler untuk kegagalan di tingkat objek.
Object | Deskripsi pemeriksaan DBCC | Kesalahan saat gagal |
---|---|---|
Indeks Partisi | Periksa statistik dan indeks segmen. Membandingkan ID setiap anggota dalam indeks partisi sementara dengan statistik partisi yang disimpan di disk. Jika anggota ditemukan dalam indeks sementara dengan nilai ID data di luar rentang yang disimpan untuk statistik indeks partisi pada disk, maka statistik untuk indeks dianggap rusak. |
Statistik segmen partisi rusak. |
Indeks Partisi | Memvalidasi metadata. Memverifikasi bahwa setiap anggota dalam indeks sementara dapat ditemukan di file header indeks untuk segmen pada disk. |
Segmen partisi rusak. |
Indeks Partisi | Pindai segmen untuk mencari kerusakan fisik. Membaca file indeks pada disk untuk setiap anggota dalam indeks sementara dan memverifikasi bahwa ukuran rekaman indeks cocok, dan bahwa halaman data yang sama ditandai sebagai memiliki rekaman untuk anggota saat ini. |
Segmen partisi rusak. |
Referensi: Pemeriksaan konsistensi dan kesalahan untuk database Tabular
Tabel berikut adalah daftar semua pemeriksaan konsistensi yang dilakukan pada objek tabular, di samping kesalahan yang dimunculkan jika pemeriksaan menunjukkan kerusakan. Kesalahan dalam tabel ini muncul di jejak xEvent atau Profiler untuk kegagalan di tingkat objek.
Object | Deskripsi pemeriksaan DBCC | Kesalahan saat gagal |
---|---|---|
Database | Memeriksa jumlah tabel dalam database. Nilai yang kurang dari nol menunjukkan kerusakan. | Ada kerusakan di lapisan penyimpanan. Kumpulan tabel dalam database '%{parent/}' rusak. |
Database | Memeriksa struktur internal yang digunakan untuk melacak Integritas Referensial dan melemparkan kesalahan jika ukurannya salah. | File database gagal melewati pemeriksaan konsistensi. |
Tabel | Memeriksa nilai internal yang digunakan untuk menentukan apakah tabel adalah tabel Dimensi atau Fakta. Nilai yang berada di luar rentang yang diketahui menunjukkan kerusakan. | Pemeriksaan konsistensi database (DBCC) gagal saat memeriksa statistik tabel. |
Tabel | Memeriksa bahwa jumlah partisi dalam peta segmen untuk tabel cocok dengan jumlah partisi yang ditentukan untuk tabel. | Ada kerusakan di lapisan penyimpanan. Kumpulan partisi dalam tabel '%{parent/}' rusak. |
Tabel | Jika database tabular dibuat atau diimpor dari PowerPivot untuk Excel 2010 dan memiliki jumlah partisi yang lebih besar dari satu, kesalahan akan muncul, karena dukungan partisi ditambahkan dalam versi yang lebih baru dan ini akan menunjukkan kerusakan. | Pemeriksaan konsistensi database (DBCC) gagal saat memeriksa peta segmen. |
Partisi | Memverifikasi untuk setiap partisi bahwa segmen angka data dan jumlah rekaman untuk setiap segmen data dalam segmen cocok dengan nilai yang disimpan dalam indeks untuk segmen. | Pemeriksaan konsistensi database (DBCC) gagal saat memeriksa peta segmen. |
Partisi | Munculkan kesalahan jika jumlah total rekaman, segmen, atau rekaman per segmen tidak valid (kurang dari nol), atau jumlah segmen tidak cocok dengan jumlah segmen terhitung yang diperlukan berdasarkan jumlah total rekaman. | Pemeriksaan konsistensi database (DBCC) gagal saat memeriksa peta segmen. |
Hubungan | Munculkan kesalahan jika struktur yang digunakan untuk menyimpan data tentang hubungan tidak berisi rekaman atau jika nama tabel yang digunakan dalam hubungan kosong. | Pemeriksaan konsistensi database (DBCC) gagal saat memeriksa hubungan. |
Hubungan | Verifikasi bahwa nama tabel utama, kolom utama, tabel asing, dan kolom asing diatur dan bahwa kolom dan tabel yang terlibat dalam hubungan dapat diakses. Verifikasi bahwa jenis kolom yang terlibat valid dan bahwa indeks nilai Kunci Key-Foreign Utama menghasilkan struktur pencarian yang valid. |
Pemeriksaan konsistensi database (DBCC) gagal saat memeriksa hubungan. |
Hierarki | Munculkan kesalahan jika urutan pengurutan untuk hierarki bukan nilai yang dikenali. | Pemeriksaan konsistensi database (DBCC) gagal saat memeriksa hierarki '%{hier/}'. |
Hierarki | Pemeriksaan yang dilakukan pada hierarki bergantung pada jenis internal skema pemetaan hierarki yang digunakan. Semua hierarki diperiksa untuk status diproses yang benar, bahwa penyimpanan hierarki ada, dan jika berlaku, struktur data yang digunakan untuk konversi data-ID-ke-hierarki-posisi ada. Dengan asumsi semua pemeriksaan ini lulus, struktur hierarki berjalan untuk memverifikasi bahwa setiap posisi dalam hierarki menunjuk ke anggota yang benar. Jika salah satu pengujian ini gagal, kesalahan akan muncul. |
Pemeriksaan konsistensi database (DBCC) gagal saat memeriksa hierarki '%{hier/}'. |
Hierarki yang ditentukan pengguna | Memeriksa apakah nama tingkat hierarki diatur. Jika hierarki telah diproses, periksa apakah penyimpanan data hierarki internal memiliki format yang benar. Verifikasi bahwa penyimpanan hierarki internal tidak berisi nilai data yang tidak valid. Jika hierarki ditandai sebagai tidak diolah, konfirmasikan bahwa status ini berlaku untuk struktur data lama dan bahwa semua tingkat hierarki ditandai sebagai kosong. |
Pemeriksaan konsistensi database (DBCC) gagal saat memeriksa hierarki '%{hier/}'. |
Kolom | Munculkan kesalahan jika pengodean yang digunakan untuk kolom tidak diatur ke nilai yang diketahui. | Pemeriksaan konsistensi database (DBCC) gagal saat memeriksa statistik kolom. |
Kolom | Periksa apakah kolom dikompresi oleh mesin dalam memori atau tidak. | Pemeriksaan konsistensi database (DBCC) gagal saat memeriksa statistik kolom. |
Kolom | Periksa jenis kompresi pada kolom untuk nilai yang diketahui. | Pemeriksaan konsistensi database (DBCC) gagal saat memeriksa statistik kolom. |
Kolom | Saat kolom "tokenisasi" tidak diatur ke nilai yang diketahui, munculkan kesalahan. | Pemeriksaan konsistensi database (DBCC) gagal saat memeriksa statistik kolom. |
Kolom | Jika rentang id yang disimpan untuk kamus data kolom tidak cocok dengan jumlah nilai dalam kamus data atau berada di luar rentang yang diizinkan, munculkan kesalahan. | Pemeriksaan konsistensi database (DBCC) gagal saat memeriksa kamus data. |
Kolom | Periksa apakah jumlah segmen data untuk kolom cocok dengan jumlah segmen data untuk tabel tempatnya berada. | Ada kerusakan di lapisan penyimpanan. Kumpulan segmen di kolom '%{parent/}' rusak. |
Kolom | Periksa apakah jumlah Partisi untuk kolom data cocok dengan jumlah partisi untuk peta segmen data untuk kolom tersebut. | Pemeriksaan konsistensi database (DBCC) gagal saat memeriksa peta segmen. |
Kolom | Verifikasi bahwa jumlah rekaman dalam segmen kolom cocok dengan jumlah rekaman yang disimpan dalam indeks untuk segmen kolom tersebut. | Ada kerusakan di lapisan penyimpanan. Kumpulan segmen di kolom '%{parent/}' rusak. |
Kolom | Jika kolom tidak memiliki statistik segmen, ajukan kesalahan. | Pemeriksaan konsistensi database (DBCC) gagal saat memeriksa statistik segmen. |
Kolom | Jika kolom tidak memiliki informasi kompresi atau penyimpanan segmen, ajukan kesalahan. | File database gagal melewati pemeriksaan konsistensi. |
Kolom | Laporkan kesalahan jika statistik segmen untuk kolom tidak cocok dengan nilai kolom aktual untuk ID Data Minimum, ID Data Maksimum, jumlah nilai Berbeda, jumlah baris, atau keberadaan nilai NULL. | Pemeriksaan konsistensi database (DBCC) gagal saat memeriksa statistik segmen. |
KolomSegmen | Jika ID data minimum atau ID data maksimum kurang dari nilai yang dipesan sistem untuk NULL, tandai informasi segmen kolom sebagai rusak. | Pemeriksaan konsistensi database (DBCC) gagal saat memeriksa statistik segmen. |
KolomSegmen | Jika tidak ada baris untuk segmen ini, nilai data minimum dan maksimum untuk kolom harus diatur ke nilai yang dicadangkan sistem untuk NULL. Jika nilainya tidak null, ajukan kesalahan. | Pemeriksaan konsistensi database (DBCC) gagal saat memeriksa statistik segmen. |
KolomSegmen | Jika kolom memiliki baris dan setidaknya satu nilai non-null, periksa apakah id data minimum dan maksimum untuk kolom lebih besar dari nilai yang dicadangkan sistem untuk NULL. | Pemeriksaan konsistensi database (DBCC) gagal saat memeriksa statistik segmen. |
Internal | Verifikasi bahwa petunjuk tokenisasi penyimpanan diatur dan bahwa jika penyimpanan diproses, ada penunjuk yang valid untuk tabel internal. Jika penyimpanan tidak diproses, verifikasi semua pointer null. Jika tidak, kembalikan kesalahan DBCC generik. |
File database gagal melewati pemeriksaan konsistensi. |
DBCC Database | Munculkan kesalahan jika skema database tidak memiliki tabel atau satu atau beberapa tabel tidak dapat diakses. | Ada kerusakan di lapisan penyimpanan. Kumpulan tabel dalam database '%{parent/}' rusak. |
DBCC Database | Memunculkan kesalahan jika tabel ditandai sebagai sementara atau memiliki jenis yang tidak diketahui. | Tipe tabel yang buruk ditemui. |
DBCC Database | Munculkan kesalahan jika jumlah hubungan untuk tabel memiliki nilai negatif, atau jika ada tabel yang memiliki hubungan yang ditentukan dan struktur hubungan terkait tidak dapat ditemukan. | Ada kerusakan di lapisan penyimpanan. Kumpulan hubungan dalam tabel '%{parent/}' rusak. |
DBCC Database | Jika tingkat kompatibilitas untuk database adalah 1050 (SQL Server 2008 R2/PowerPivot v1.0) dan jumlah hubungan melebihi jumlah tabel dalam model, tandai database sebagai rusak. | File database gagal melewati pemeriksaan konsistensi. |
Tabel DBCC | Untuk tabel di bawah validasi, periksa apakah jumlah kolom kurang dari nol dan ajukan kesalahan jika benar. Kesalahan juga terjadi jika penyimpanan kolom untuk kolom dalam tabel adalah NULL. | Ada kerusakan di lapisan penyimpanan. Kumpulan kolom dalam tabel '%{parent/}' rusak. |
Partisi DBCC | Memeriksa tabel tempat partisi divalidasi, dan jika jumlah kolom untuk tabel kurang dari nol, itu menunjukkan koleksi Kolom rusak untuk tabel. Kesalahan juga akan terjadi jika penyimpanan kolom untuk kolom dalam tabel adalah NULL. | Ada kerusakan di lapisan penyimpanan. Kumpulan kolom dalam tabel '%{parent/}' rusak. |
Partisi DBCC | Mengulangi setiap kolom untuk partisi yang dipilih dan memeriksa bahwa setiap segmen untuk partisi memiliki tautan yang valid ke struktur segmen kolom. Jika ada segmen yang memiliki tautan NULL, partisi dianggap rusak. | Ada kerusakan di lapisan penyimpanan. Kumpulan segmen di kolom '%{parent/}' rusak. |
Kolom | Mengembalikan kesalahan jika jenis kolom tidak valid. | Jenis segmen yang buruk ditemui. |
Kolom | Mengembalikan kesalahan jika ada kolom yang memiliki jumlah negatif untuk jumlah segmen dalam kolom, atau jika penunjuk ke struktur segmen kolom untuk segmen memiliki tautan NULL. | Ada kerusakan di lapisan penyimpanan. Kumpulan segmen di kolom '%{parent/}' rusak. |
Perintah DBCC | Perintah DBCC akan melaporkan beberapa pesan status saat dilanjutkan melalui operasi DBCC. Ini akan melaporkan pesan status sebelum memulai yang mencakup database, tabel, atau nama kolom objek, dan sekali lagi setelah menyelesaikan setiap pemeriksaan objek. | Memeriksa konsistensi objecttype <>objectname><. Fase: pra-pemeriksaan. Memeriksa konsistensi objecttype <>objectname><. Fase: pasca-pemeriksaan. |
Resolusi umum untuk kondisi kesalahan
Kesalahan berikut muncul di SQL Server Management Studio atau di file msmdsrv.log. Kesalahan ini muncul ketika satu atau beberapa pemeriksaan gagal dilewati. Bergantung pada kesalahan, resolusi yang disarankan adalah memproses ulang objek, menghapus dan menyebarkan ulang solusi, atau memulihkan database.
Kesalahan | Masalah | Resolusi |
---|---|---|
Kesalahan di manajer metadata Referensi objek '<objectID>' tidak valid. Ini tidak cocok dengan struktur hierarki kelas metadata. |
perintah salah bentuk | Periksa sintaks perintah. Kemungkinan besar, Anda menyertakan objek tingkat yang lebih rendah tanpa menentukan satu atau beberapa objek induknya. |
Kesalahan di manajer metadata <> Objek dengan ID '<objectID>' tidak ada di <parentobject> dengan ID '<parentobjectID>', atau pengguna tidak memiliki izin untuk mengakses objek. |
Kerusakan indeks (multidimensi) | Memproses ulang objek dan objek dependen apa pun. |
Terjadi kesalahan selama pemeriksaan konsistensi partisi Terjadi kesalahan saat memeriksa konsistensi <partisi nama> partisi dari <grup pengukuran nama-grup-ukuran> untuk <kubus nama-kubus> dari <database nama> database. Harap proses ulang partisi atau indeks untuk memperbaiki kerusakan. |
Kerusakan indeks (multidimensi) | Memproses ulang objek dan objek dependen apa pun. |
Statistik segmen partisi rusak | Kerusakan indeks (multidimensi) | Memproses ulang objek dan objek dependen apa pun. |
Segmen partisi rusak | Kerusakan metadata (multidimensi atau tabular) | Hapus dan sebarkan ulang proyek, atau pulihkan dari cadangan dan proses ulang. Lihat Cara menangani kerusakan dalam database Analysis Services (blog) untuk instruksi. |
Kerusakan metadata tabel File <metadata nama> tabel tabel rusak. Tabel utama tidak ditemukan di bawah simpul DataFileList. |
Kerusakan metadata (hanya tabular) | Hapus dan sebarkan ulang proyek, atau pulihkan dari cadangan dan proses ulang. Lihat Cara menangani kerusakan dalam database Analysis Services (blog) untuk instruksi. |
Kerusakan pada lapisan penyimpanan Kerusakan pada lapisan penyimpanan: kumpulan type-name> dalam <parent-name><parent-type> rusak.< |
Kerusakan metadata (hanya tabular) | Hapus dan sebarkan ulang proyek, atau pulihkan dari cadangan dan proses ulang. Lihat Cara menangani kerusakan dalam database Analysis Services (blog) untuk instruksi. |
Tabel sistem hilang Nama> tabel tabel sistem <hilang. |
Kerusakan objek (hanya tabular) | Memproses ulang objek dan objek dependen apa pun |
Statistik tabel rusak Statistik tabel Tabel <sistem tabel-nama> hilang. |
Kerusakan metadata (hanya tabular) | Hapus dan sebarkan ulang proyek, atau pulihkan dari cadangan dan proses ulang. Lihat Cara menangani kerusakan dalam database Analysis Services (blog) untuk instruksi. |
Menonaktifkan pemeriksaan konsistensi otomatis pada operasi beban database
Meskipun tidak disarankan, Anda dapat menonaktifkan pemeriksaan konsistensi database bawaan yang terjadi secara otomatis pada peristiwa beban database (hanya pada database tabular). Untuk melakukan ini, Anda harus mengubah pengaturan konfigurasi dalam file msmdsrv.ini:
<ConfigurationSettings>
<Vertipaq />
<DisableConsistencyChecks />
Pengaturan ini tidak ada dalam file konfigurasi dan harus ditambahkan secara manual.
Nilai yang valid adalah sebagai berikut:
-2 (default) DBCC diaktifkan. Jika server dapat secara logis mengatasi kesalahan dengan tingkat kepastian yang tinggi, perbaikan akan diterapkan secara otomatis. Jika tidak, kesalahan akan dicatat.
-1 DBCC diaktifkan sebagian. Ini diaktifkan untuk RESTORE dan pada validasi pra-penerapan yang memeriksa status database di akhir transaksi.
0 DBCC diaktifkan sebagian. Pemeriksaan konsistensi database dilakukan selama RESTORE, IMAGELOAD, LOCALCUBELOAD, dan ATTACH
Operasi.1 DBCC dinonaktifkan. Pemeriksaan integritas data dinonaktifkan, namun pemeriksaan deserialisasi masih akan terjadi.
Catatan
Pengaturan ini tidak berdampak pada DBCC saat menjalankan perintah sesuai permintaan.
Lihat juga
Database Proses, Tabel, atau Partisi (Analysis Services)
Memproses model multidmensional (Analysis Services)
Tingkat Kompatibilitas untuk model Tabular di Analysis Services
Properti server di Analysis Services