掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流
日志的幾種方法

創(chuàng)新互聯(lián)專(zhuān)業(yè)做網(wǎng)站、網(wǎng)站制作,集網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)、網(wǎng)站制作于一體,網(wǎng)站seo、網(wǎng)站優(yōu)化、網(wǎng)站營(yíng)銷(xiāo)、軟文發(fā)稿等專(zhuān)業(yè)人才根據(jù)搜索規(guī)律編程設(shè)計(jì),讓網(wǎng)站在運(yùn)行后,在搜索中有好的表現(xiàn),專(zhuān)業(yè)設(shè)計(jì)制作為您帶來(lái)效益的網(wǎng)站!讓網(wǎng)站建設(shè)為您創(chuàng)造效益。
SQL server數(shù)據(jù)庫(kù)服務(wù)器為用戶提供了可靠的服務(wù)和穩(wěn)定的性能,但有時(shí)會(huì)遇到一些不可預(yù)料的故障,因此重要的是了解它們是怎么產(chǎn)生的,并找出解決方案。SQL Server將有關(guān)故障及其相關(guān)信息記錄為錯(cuò)誤日志記錄,針對(duì)這些日志,本文將深入淺出地解釋記錄錯(cuò)誤日志的幾種方法。
一. SQL Server有兩種標(biāo)準(zhǔn)日志文件:Error Logs 和 Windows Event Logs,分別由SQL Server和應(yīng)用程序日志引擎管理。
Error Logs由SQL Server本身記錄,主要記錄數(shù)據(jù)庫(kù)服務(wù)器的啟動(dòng)、關(guān)閉、中斷的信息,以及活動(dòng)數(shù)據(jù)庫(kù)服務(wù)器報(bào)告的所有錯(cuò)誤信息。Error Log支持SQL Server本身的所有組件,例如SQL Server.NET、SQL Server Agent以及SQL Server Analysis Services以及其他SQL Server產(chǎn)品。
SQL Server通過(guò)構(gòu)建其他日志文件Windows Event Log來(lái)支持外部應(yīng)用程序日志引擎,例如IIS,Outlook,Exchange等。Windows Event Log記錄的日志的級(jí)別大多低于Error Logs級(jí)別,它們具有更少的錯(cuò)誤信息,但這也可以幫助我們了解更多有關(guān)其他組件的信息。
SQL Server也支持使用自定義的SQL命令來(lái)創(chuàng)建客戶端日志,通過(guò)在代碼中添加如下行可以將日志信息記錄到自定義日志表中:
“`sql
declare
@sql varchar(100)
set @sql = ‘INSERT INTO System_Log(LogTime, LogLevel, LogInfo)VALUES(SYSDATETIME(),”Error”,”SQL error happen!”);
execute @sql;
“`
二. 記錄日志可以幫助我們更快地解決一些問(wèn)題,而使用SQL Agent也可以定期檢查日志記錄,發(fā)現(xiàn)出現(xiàn)的問(wèn)題并作出及時(shí)的響應(yīng)。
例如,我們可以使用SQL代理每天定期執(zhí)行檢查查詢(xún)來(lái)檢查Error Log 中的錯(cuò)誤日志:
“`sql
declare
@cmd varchar(255)
set @cmd=’xp_readerrorlog’
execute @cmd
或者使用以下查詢(xún)可以檢索Error Log 中所有級(jí)別為ERROR級(jí)別的錯(cuò)誤日志:
```sql
declare
@cmd varchar(255)
set @cmd='xp_readerrorlog 0, 1, ''ERROR'''
execute @cmd
此外我們還可以創(chuàng)建一個(gè)存儲(chǔ)過(guò)程,讓它在SQL Server定期啟動(dòng)時(shí)自動(dòng)執(zhí)行,這個(gè)存儲(chǔ)過(guò)程可以查看Error Log中關(guān)于數(shù)據(jù)庫(kù)錯(cuò)誤的信息,以確保所有數(shù)據(jù)庫(kù)都正常運(yùn)行:
“`sql
CREATE PROCEDURE sp_CheckErrorLog
AS
BEGIN
DECLARE
@Log nvarchar(255),
@ErrMsg nvarchar(255)
SET @Log = ‘SELECT * FROM sys.fn_xe_file_target_read_file(‘/var/opt/Error Log/ErrorLog.xel’, ‘DatabaseId = 1′, null, null);’
EXECUTE sp_executesql @Log, N’@ErrMsg’, @ErrMsg OUTPUT
–Check the message
IF @ErrMsg != ”
BEGIN
–record message
…
END
END
綜上所述,記錄錯(cuò)誤日志是一項(xiàng)重要的任務(wù),它可以幫助我們?cè)\斷和解決許多問(wèn)題。SQL Server有很多方法來(lái)記錄錯(cuò)誤日志,它們中有一些是專(zhuān)為特定情況設(shè)計(jì)的,而另一些則專(zhuān)為更廣泛的應(yīng)用。如果我們能夠正確和有效地使用它們,就可以更好地診斷和解決問(wèn)題,并使SQL Server更加穩(wěn)定可靠。
成都網(wǎng)站營(yíng)銷(xiāo)推廣找創(chuàng)新互聯(lián),全國(guó)分站站群網(wǎng)站搭建更好做SEO營(yíng)銷(xiāo)。
創(chuàng)新互聯(lián)(www.cdcxhl.com)四川成都IDC基礎(chǔ)服務(wù)商,價(jià)格厚道。提供成都服務(wù)器托管租用、綿陽(yáng)服務(wù)器租用托管、重慶服務(wù)器托管租用、貴陽(yáng)服務(wù)器機(jī)房服務(wù)器托管租用。

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流