V SQL Server můžete použít FILEPROPERTY()
funkce, která vrátí hodnotu vlastnosti pro zadaný databázový soubor. Vrácená hodnota je buď 1 nebo 0 (nebo NULL, pokud je vstup neplatný).
Chcete-li jej použít, zadejte název logického souboru a hodnotu vlastnosti, kterou chcete vrátit.
Příklad 1 – Základní dotaz
Zde je příklad k demonstraci.
USE WideWorldImporters; SELECT FILEPROPERTY('WWI_Primary', 'SpaceUsed') AS Result;
Výsledek:
+----------+ | Result | |----------| | 1152 | +----------+
Hodnota vrácená SpaceUsed
vlastnost je počet stránek přidělených v souboru. Tento příklad nám tedy říká, že soubor WWI_Primary má přiděleno 1152 stránek.
Pokud zkontroluji soubor protokolu, dostanu jiný výsledek:
SELECT FILEPROPERTY('WWI_Log', 'SpaceUsed') AS Result;
Výsledek:
+----------+ | Result | |----------| | 14762 | +----------+
Příklad 2 – Získání názvu souboru z jeho ID
Pokud si nejste jisti názvem souboru, ale znáte jeho ID, můžete použít FILE_NAME()
funkci vrátit název souboru na základě jeho ID.
SELECT FILEPROPERTY(FILE_NAME(3), 'SpaceUsed') AS Result;
Výsledek:
+----------+ | Result | |----------| | 52872 | +----------+
Zde je to opět s vráceným názvem souboru:
SELECT FILE_NAME(3) AS [File Name], FILEPROPERTY(FILE_NAME(3), 'SpaceUsed') AS [Space Used];
Výsledek:
+--------------+--------------+ | File Name | Space Used | |--------------+--------------| | WWI_UserData | 52872 | +--------------+--------------+
Příklad 3 – Vrácení všech hodnot vlastností
V době psaní FILEPROPERTY()
přijímá čtyři hodnoty vlastností.
Zde je příklad, který vrací všechny čtyři hodnoty vlastností pro WWI_Log
soubor.
DECLARE @file_name varchar(50) = 'WWI_Log'; SELECT FILEPROPERTY(@file_name, 'IsReadOnly') AS IsReadOnly, FILEPROPERTY(@file_name, 'IsPrimaryFile') AS IsPrimaryFile, FILEPROPERTY(@file_name, 'IsLogFile') AS IsLogFile, FILEPROPERTY(@file_name, 'SpaceUsed') AS SpaceUsed;
Výsledek:
+--------------+-----------------+-------------+-------------+ | IsReadOnly | IsPrimaryFile | IsLogFile | SpaceUsed | |--------------+-----------------+-------------+-------------| | 0 | 0 | 1 | 14763 | +--------------+-----------------+-------------+-------------+
Příklad 4 – Neexistující soubor
Zde je to, co se stane, pokud zadáte soubor, který neexistuje.
SELECT FILEPROPERTY('OOPS', 'SpaceUsed') AS Result;
Výsledek:
+----------+ | Result | |----------| | NULL | +----------+
Příklad 5 – Neplatná hodnota vlastnosti
Získáme stejný výsledek, když je soubor správný, ale zadáme neplatnou hodnotu vlastnosti.
SELECT FILEPROPERTY('WWI_Log', 'Oops') AS Result;
Výsledek:
+----------+ | Result | |----------| | NULL | +----------+