Bagikan melalui


sp_readerrorlog (T-SQL)

Berlaku untuk: SQL Server

Memungkinkan Anda membaca konten file log kesalahan SQL Server atau SQL Server Agent dan memfilter kata kunci.

Konvensi sintaks transact-SQL

Sintaks

sp_readerrorlog
    [ [ @p1 = ] p1 ]
    [ , [ @p2 = ] p2 ]
    [ , [ @p3 = ] N'p3' ]
    [ , [ @p4 = ] N'p4' ]
[ ; ]

Argumen

[ @p1 = ] p1

Nilai bilangan bulat log yang ingin Anda lihat. @p1 int, dengan default 0. Log kesalahan saat ini memiliki nilai 0. Yang sebelumnya adalah 1 (ERRORLOG.1), yang sebelumnya adalah 2 (ERRORLOG.2), dan sebagainya.

[ @p2 = ] p2

Nilai bilangan bulat untuk produk yang lognya ingin Anda lihat. @p2 int, dengan default NULL. Gunakan 1 untuk SQL Server atau 2 SQL Server Agent. Jika nilai tidak ditentukan, produk SQL Server digunakan.

[ @p3 = ] N'p3'

Nilai string untuk string yang ingin Anda filter saat melihat log kesalahan. @p3 adalah nvarchar(4000), dengan default NULL.

[ @p4 = ] N'p4'

Nilai string untuk string tambahan yang ingin Anda filter untuk lebih menyempurnakan pencarian saat melihat log kesalahan. @p4 adalah nvarchar(4000), dengan default NULL. Parameter ini menyediakan filter tambahan ke @p3 pencarian string pertama.

Mengembalikan nilai kode

Tidak ada.

Tataan hasil

Menampilkan isi log kesalahan yang diminta. Jika string filter digunakan, hanya baris yang cocok dengan string tersebut yang ditampilkan.

Keterangan

Setiap kali SQL Server dimulai, log kesalahan saat ini diganti namanya menjadi ERRORLOG.1; ERRORLOG.1 menjadi ERRORLOG.2, ERRORLOG.2 menjadi ERRORLOG.3, dan sebagainya. sp_readerrorlog memungkinkan Anda membaca salah satu file log kesalahan ini selama file ada.

Izin

SQL Server 2019 (15.x) dan versi yang lebih lama memerlukan izin TAMPILKAN STATUS SERVER di server.

SQL Server 2022 (16.x) dan versi yang lebih baru memerlukan izin LIHAT LOG KESALAHAN APA PUN di server.

Contoh

Contoh berikut menggulirkan log kesalahan SQL Server.

J. Membaca log kesalahan SQL Server saat ini

EXECUTE sp_readerrorlog;

B. Tampilkan log kesalahan SQL Server Agent sebelumnya

EXECUTE sp_readerrorlog 1, 2;

C. Menemukan pesan log yang menunjukkan database sedang dimulai

EXECUTE sp_readerrorlog 0, 1, 'database', 'start';