Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak używać FILEPROPERTY() w SQL Server

W SQL Server możesz użyć FILEPROPERTY() funkcja zwracająca wartość właściwości dla określonego pliku bazy danych. Zwracana wartość to 1 lub 0 (lub NULL, jeśli dane wejściowe są nieprawidłowe).

Aby z niego skorzystać, podaj logiczną nazwę pliku i wartość właściwości, którą chcesz zwrócić.

Przykład 1 – zapytanie podstawowe

Oto przykład do zademonstrowania.

USE WideWorldImporters;
SELECT FILEPROPERTY('WWI_Primary', 'SpaceUsed') AS Result;

Wynik:

+----------+
| Result   |
|----------|
| 1152     |
+----------+

Wartość zwracana przez SpaceUsed właściwość to liczba stron przydzielonych w pliku. Dlatego ten przykład mówi nam, że plik WWI_Primary ma przydzielonych 1152 strony.

Jeśli sprawdzę plik dziennika, otrzymam inny wynik:

SELECT FILEPROPERTY('WWI_Log', 'SpaceUsed') AS Result;

Wynik:

+----------+
| Result   |
|----------|
| 14762    |
+----------+

Przykład 2 – Pobieranie nazwy pliku z jego identyfikatora

Jeśli nie jesteś pewien nazwy pliku, ale znasz jego identyfikator, możesz użyć FILE_NAME() funkcja zwracająca nazwę pliku na podstawie jego identyfikatora.

SELECT FILEPROPERTY(FILE_NAME(3), 'SpaceUsed') AS Result;

Wynik:

+----------+
| Result   |
|----------|
| 52872    |
+----------+

Tutaj jest znowu ze zwróconą nazwą pliku:

SELECT 
  FILE_NAME(3) AS [File Name],
  FILEPROPERTY(FILE_NAME(3), 'SpaceUsed') AS [Space Used];

Wynik:

+--------------+--------------+
| File Name    | Space Used   |
|--------------+--------------|
| WWI_UserData | 52872        |
+--------------+--------------+

Przykład 3 – Zwróć wszystkie wartości właściwości

W chwili pisania tego tekstu FILEPROPERTY() akceptuje cztery wartości właściwości.

Oto przykład, który zwraca wszystkie cztery wartości właściwości dla WWI_Log plik.

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;

Wynik:

+--------------+-----------------+-------------+-------------+
| IsReadOnly   | IsPrimaryFile   | IsLogFile   | SpaceUsed   |
|--------------+-----------------+-------------+-------------|
| 0            | 0               | 1           | 14763       |
+--------------+-----------------+-------------+-------------+

Przykład 4 – Nieistniejący plik

Oto, co się stanie, jeśli określisz plik, który nie istnieje.

SELECT FILEPROPERTY('OOPS', 'SpaceUsed') AS Result;

Wynik:

+----------+
| Result   |
|----------|
| NULL     |
+----------+

Przykład 5 – Nieprawidłowa wartość właściwości

Ten sam wynik otrzymujemy, gdy plik jest poprawny, ale określamy nieprawidłową wartość właściwości.

SELECT FILEPROPERTY('WWI_Log', 'Oops') AS Result;

Wynik:

+----------+
| Result   |
|----------|
| NULL     |
+----------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Obliczanie odległości między dwoma punktami (szerokość geograficzna, długość geograficzna)

  2. 2 sposoby na zwrócenie listy połączonych serwerów w SQL Server przy użyciu T-SQL

  3. CROSS JOIN vs INNER JOIN w SQL

  4. Różnica między sys.sql_modules, sys.system_sql_modules i sys.all_sql_modules w SQL Server

  5. SQL Server v.Next:Wydajność STRING_AGG, część 2