Bagikan melalui


MSSQLSERVER_3023

Berlaku untuk: SQL Server

Detail

Atribut Nilai
Nama Produk SQL Server
ID Peristiwa 3023
Sumber Kejadian MSSQLSERVER
Komponen SQLEngine
Nama Simbolis DB_IN_USE_DUMP
Teks Pesan Operasi manipulasi cadangan dan file (seperti ALTER DATABASE ADD FILE) pada database harus diserialisasikan. Mengeluarkan kembali pernyataan setelah operasi pencadangan atau manipulasi file saat ini selesai

Penjelasan

Anda mencoba menjalankan perintah Backup, shrink, atau alter database di SQL Server, dan Anda menemukan pesan berikut:

Msg 3023, Tingkat 16, Status 2, Baris 1
Operasi manipulasi cadangan dan file (seperti ALTER DATABASE ADD FILE) pada database harus diserialisasikan. Terbitkan ulang pernyataan setelah operasi pencadangan atau manipulasi file saat ini selesai.

Pesan 3013, Tingkat 16, Status 1, Baris 1
CADANGAN DATABASE berakhir secara tidak normal.

Selain itu, log kesalahan SQL Server berisi pesan seperti berikut ini:

<Kesalahan Pencadangan TanggalWaktu> : 3041, Tingkat Keparahan: 16, Status: 1.
<PenCADANGAN Datetime> Backup gagal menyelesaikan perintah BACKUP DATABASE MyDatabase DENGAN DIFERENSIAL. Periksa log aplikasi cadangan untuk pesan terperinci.

Anda mungkin juga melihat bahwa perintah ini menemukan wait_type = LCK_M_U dan wait_resource = DATABASE: <id> [BULKOP_BACKUP_DB] ketika status perintah ini dilihat dari berbagai tampilan manajemen dinamis (DMV), seperti dari sys.dm_exec_requests atau sys.dm_os_waiting_tasks.

Kemungkinan penyebab

Ada beberapa aturan di mana operasi diizinkan atau tidak diizinkan ketika database lengkap saat ini sedang berlangsung terhadap database. Beberapa contohnya adalah sebagai berikut:

  • Hanya satu Pencadangan data yang dapat terjadi pada satu waktu (ketika Pencadangan database lengkap terjadi, diferensial, atau Pencadangan inkremental tidak dapat terjadi pada saat yang sama).
  • Hanya Pencadangan satu log yang dapat terjadi pada satu waktu (Pencadangan log diizinkan ketika Pencadangan database lengkap terjadi).
  • Anda tidak dapat menambahkan atau meletakkan file ke database saat Pencadangan sedang terjadi.
  • Anda tidak dapat menyusutkan file saat Pencadangan database sedang terjadi.
  • Ada perubahan model pemulihan terbatas yang diizinkan saat Pencadangan terjadi.

Ketika salah satu operasi yang bertentangan ini dilakukan, perintah akan menemukan kunci menunggu yang disebutkan di bagian "Penjelasan" diikuti oleh Anda menerima pesan 3023 dan 3041.

Tindakan pengguna

Periksa jadwal berbagai aktivitas pemeliharaan database, lalu sesuaikan jadwal sehingga operasi atau perintah ini tidak saling bertentangan.

Informasi selengkapnya

SQL Server merekam waktu mulai dan waktu akhir Pencadangan dalam msdb database. Anda dapat memeriksa riwayat Pencadangan untuk menentukan apakah ada Pencadangan database lengkap yang terjadi saat Pencadangan bertahap dicoba dan karenanya menyebabkan kesalahan. Anda bisa menggunakan kueri berikut untuk membantu Anda dalam proses ini:

select database_name, type, backup_start_date, backup_finish_date
from msdb.dbo.backupset
order by database_name, type, backup_start_date, backup_finish_date
go

Anda juga dapat menggunakan peristiwa Pesan Kesalahan Pengguna di SQL Profiler Trace atau peristiwa error_reported di Extended Events untuk melacak pelaporan pesan 3023 kembali ke aplikasi yang memulai Backup atau perintah pemeliharaan lainnya.