Sql-Server
SQL Server 2017 Express 中的數據庫一致性歷史記錄失敗
當我使用 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'' ;
您可以在此處發布產品回饋。