2016-12-01 63 views

回答

0

您可以使用master.sys.xp_dirtree

此代碼將讓你最上面的文件目錄中,授予您的備份對他們的日期。 最高日期應該是目錄文件結構中的最高文件。

您的備份文件路徑最終將在@LatestBackupFilepath

DECLARE @BackupDirectory NVARCHAR(255) 
DECLARE @LatestBackupFilepath NVARCHAR(255); 

SET @BackupDirectory = 'C:\YourBackupFolder' 

IF OBJECT_ID('tempdb..#DirectoryTree') IS NOT NULL 
     DROP TABLE #DirectoryTree; 

CREATE TABLE #DirectoryTree (
     id int IDENTITY(1,1) 
     ,subdirectory nvarchar(512) 
     ,depth int 
     ,isfile bit); 

INSERT #DirectoryTree (subdirectory,depth,isfile) 
EXEC master.sys.xp_dirtree @BackupDirectory, 1, 1; 

;With LatestBackup 
AS 
(
    SELECT 
     TOP 1 subdirectory AS [Filename] 
    FROM 
     #DirectoryTree 
    WHERE 
     isfile = 1 
     AND RIGHT(subdirectory,4) = '.BAK' 
    ORDER BY 
     id 
) 
SELECT 
    @LatestBackupFilepath = CONCAT(@BackupDirectory, '\', [Filename]) 
    FROM LatestBackup 

DROP TABLE #DirectoryTree; 
相關問題