Sql-Server
有了備份文件,如何計算恢復所需的總磁碟空間?
我有一個很好的查詢,它給了我上次完整備份的日期、大小和位置,即使我備份到多個備份文件也是如此。
我沒有的是對總備份大小的估計(對於每個數據庫文件)。
基本上,每個驅動器中我需要多少磁碟空間才能進行此還原?
我一直在嘗試
RESTORE FILELISTONLY FROM DISK=N'C:\SQL Server\BACKUP\my_backup_FULL_20190324_190109.bak'
但我無法計算出還原後的數據庫所需的總磁碟空間。
我從
restore filelistonly
上面得到了大小,但是磁碟中原始數據庫的大小如下:
如果我認為您希望在
SELECT
多個數據庫的語句中使用它,下面的程式碼是一個好的開始CREATE TABLE #FileListHeaders ( LogicalName nvarchar(128) ,PhysicalName nvarchar(260) ,[Type] char(1) ,FileGroupName nvarchar(128) NULL ,Size numeric(20,0) ,MaxSize numeric(20,0) ,FileID bigint ,CreateLSN numeric(25,0) ,DropLSN numeric(25,0) NULL ,UniqueID uniqueidentifier ,ReadOnlyLSN numeric(25,0) NULL ,ReadWriteLSN numeric(25,0) NULL ,BackupSizeInBytes bigint ,SourceBlockSize int ,FileGroupID int ,LogGroupGUID uniqueidentifier NULL ,DifferentialBaseLSN numeric(25,0) NULL ,DifferentialBaseGUID uniqueidentifier NULL ,IsReadOnly bit ,IsPresent BIT ,TDEThumbprint VARBINARY(32) ,SnapshotURL NVARCHAR(360) ) INSERT INTO #FileListHeaders EXEC ('RESTORE FILELISTONLY FROM DISK = ''C:\Program Files\Microsoft SQL Server\ MSSQL14.MSSQLSERVER\MSSQL\Backup\test.bak''') SELECT Size/1024/1024 AS [size in mb],* FROM #FileListHeaders
一個警告是,在他處理的上述連結中,不同版本的 sql server 中創建的表不同。根據您更改腳本。