In SQL Server kunt u de FILEPROPERTY()
functie om de eigenschapswaarde voor een opgegeven databasebestand te retourneren. De geretourneerde waarde is 1 of 0 (of NULL als de invoer ongeldig is).
Om het te gebruiken, geeft u de logische bestandsnaam van het bestand op en de eigenschapswaarde die u wilt retourneren.
Voorbeeld 1 – Basisquery
Hier is een voorbeeld om te demonstreren.
USE WideWorldImporters; SELECT FILEPROPERTY('WWI_Primary', 'SpaceUsed') AS Result;
Resultaat:
+----------+ | Result | |----------| | 1152 | +----------+
De waarde die wordt geretourneerd door de SpaceUsed
eigenschap is het aantal pagina's dat in het bestand is toegewezen. Daarom vertelt dit voorbeeld ons dat het WWI_Primary-bestand 1152 pagina's heeft toegewezen.
Als ik het logbestand controleer, krijg ik een ander resultaat:
SELECT FILEPROPERTY('WWI_Log', 'SpaceUsed') AS Result;
Resultaat:
+----------+ | Result | |----------| | 14762 | +----------+
Voorbeeld 2 – De bestandsnaam uit zijn ID halen
Als u niet zeker bent van de bestandsnaam, maar u wel de ID kent, kunt u de FILE_NAME()
gebruiken functie om de naam van het bestand te retourneren op basis van zijn ID.
SELECT FILEPROPERTY(FILE_NAME(3), 'SpaceUsed') AS Result;
Resultaat:
+----------+ | Result | |----------| | 52872 | +----------+
Hier is het weer met de bestandsnaam ook geretourneerd:
SELECT FILE_NAME(3) AS [File Name], FILEPROPERTY(FILE_NAME(3), 'SpaceUsed') AS [Space Used];
Resultaat:
+--------------+--------------+ | File Name | Space Used | |--------------+--------------| | WWI_UserData | 52872 | +--------------+--------------+
Voorbeeld 3 – Alle eigenschapswaarden retourneren
Op het moment van schrijven, FILEPROPERTY()
accepteert vier eigenschapswaarden.
Hier is een voorbeeld dat alle vier de eigenschapswaarden retourneert voor de WWI_Log
bestand.
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;
Resultaat:
+--------------+-----------------+-------------+-------------+ | IsReadOnly | IsPrimaryFile | IsLogFile | SpaceUsed | |--------------+-----------------+-------------+-------------| | 0 | 0 | 1 | 14763 | +--------------+-----------------+-------------+-------------+
Voorbeeld 4 – Niet-bestaand bestand
Dit is wat er gebeurt als je een bestand opgeeft dat niet bestaat.
SELECT FILEPROPERTY('OOPS', 'SpaceUsed') AS Result;
Resultaat:
+----------+ | Result | |----------| | NULL | +----------+
Voorbeeld 5 – Ongeldige eigenschapswaarde
We krijgen hetzelfde resultaat als het bestand correct is, maar we specificeren een ongeldige eigenschapswaarde.
SELECT FILEPROPERTY('WWI_Log', 'Oops') AS Result;
Resultaat:
+----------+ | Result | |----------| | NULL | +----------+