Sql-Server

SQL Server 2017 Express 中的數據庫一致性歷史記錄失敗

  • October 12, 2019

當我使用 MSSM 執行數據庫一致性歷史報告時,我收到一條錯誤消息:

無法檢索報告這一部分的數據。出現以下錯誤消息 19050,級別 16,狀態 5 跟踪文件名 ‘/var/opt/mmsql/log/log_86866.trc\log.trc’ 無效

我重新執行了 DBBCC CHECKDB,但沒有幫助。

當我跑

SELECT tracefilename = path FROM sys.traces 
WHERE is_default = 1;

我得到的跟踪文件名返回為

/var/opt/mssql/log/log_87148.trc

如果我重新執行數據庫一致性歷史記錄,則tracefilename現在是

'/var/opt/mmsql/log/log_87148.trc\log.trc' is invalid

這是 SSMS 的限制。此報告不正確支持 Linux,因為該腳本正在使用“\”(Windows 路徑分隔符)執行路徑操作。

這是為該報告執行的程式碼片段:

select @curr_tracefilename = path from sys.traces where is_default = 1 ; 
set @curr_tracefilename = reverse(@curr_tracefilename); 
select @indx  = PATINDEX(''%\%'', @curr_tracefilename) ;  
set @curr_tracefilename = reverse(@curr_tracefilename); 
set @base_tracefilename = left( @curr_tracefilename,len(@curr_tracefilename) - @indx) + ''\log.trc'' ; 

您可以在此處發布產品回饋。

引用自:https://dba.stackexchange.com/questions/250796