SQL 預存程序 |
BarTender System Database 的維護支援以下預存程序。
SpDeleteOlderRecords 程序會刪除晚於指定時間的資料庫記錄。採用的參數如下:
@timeThreshold 是指定過去單位數的整數。
@timeUnits 指定時間的測量單位,其中 0 = 天,1 = 週,2 = 月。
@recordType 指定要移除的記錄類型,如下表所述。
常數 |
描述 |
---|---|
BTMS |
BarTender 訊息 |
BTLI |
BarTender 已列印項目影像 |
BTLD |
BarTender 項目資料庫 |
BTPJ |
BarTender 列印工作 |
BTFB |
BarTender 文件 BLOB |
BTFM |
BarTender 文件 |
APMS |
應用程式訊息 |
PMPR |
Printer Maestro 印表機事件 |
PMIN |
Printer Maestro 庫存事件 |
SCEV |
安全性事件,例如權限變更 |
ALLR |
所有記錄 |
以下範例碼會刪除超過 6 個月的所有記錄。
|
BarTender 現在支援遠端 BarTender 資料庫的維護。維護可以鎖定,以讓每次只有一個 BarTender System Service 執行維護。因此,SpDeleteOlderRecords 程序變更為包括一個 "use lock" 輸入參數和一個 "lock host" 輸出參數。 如果 "use lock" 為非零,預存程序會嘗試鎖定維護功能。如果鎖定失敗,程序會在 "result" 輸出參數中返回 -9,並在 "lock host" 輸出參數中返回目前保持該鎖定的主機名稱。如果程序成功,"result" 則為 1。 如果僅有一個 BarTender System Service 連接至特定 SQL Server 資料庫,則 "use lock" 參數可以為零,並且不會進行任何鎖定嘗試 (因為不需要)。 |
DECLARE @timeThreshold int
DECLARE @timeUnits int
DECLARE @recordType nvarchar(1024)
DECLARE @useLock int
DECLARE @lockHost nvarchar(1024)
DECLARE @result int
DECLARE @numRows int
SET @timeThreshold = 6
SET @timeUnits = 2
SET @recordType = N'ALLR'
SET @useLock = 1
SET @result = 0
EXEC [dbo].[SpDeleteOlderRecords] @timeThreshold, @timeUnits, @recordType, @useLock, @lockHost output, @result output
SpPurgeDatabase 程序會移除 BarTender System Database 中包含的所有記錄的資料。記錄內容很多時,建議您不要使用此程序,因為此程序可能會干擾 BarTender System Database 正在處理的記錄操作。SpPurgeDatabase 流程不包含其他參數。
|
SpPurgeDatabase 流程是無法復原的。因此,您無法擷取任何從資料庫中已清除的記錄。請小心使用此程序。 |
以下範例碼會從資料庫中清除所有記錄。
EXEC dbo.SpPurgeDatabase