Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да използвате FILEPROPERTY() в SQL Server

В SQL Server можете да използвате FILEPROPERTY() функция за връщане на стойността на свойството за определен файл на базата данни. Върнатата стойност е 1 или 0 (или NULL, ако входът е невалиден).

За да го използвате, предоставете логическото име на файла и стойността на свойството, която искате да върнете.

Пример 1 – Основна заявка

Ето пример за демонстрация.

ИЗПОЛЗВАЙТЕ WideWorldImporters;ИЗБЕРЕТЕ FILEPROPERTY('WWI_Primary', 'SpaceUsed') КАТО Резултат;

Резултат:

+---------+| Резултат ||----------|| 1152 |+---------+

Стойността, върната от SpaceUsed свойството е броят на страниците, разпределени във файла. Следователно този пример ни казва, че файлът WWI_Primary има разпределени 1152 страници.

Ако проверя регистрационния файл, получавам различен резултат:

ИЗБЕРЕТЕ FILEPROPERTY('WWI_Log', 'SpaceUsed') КАТО резултат;

Резултат:

+---------+| Резултат ||----------|| 14762 |+---------+

Пример 2 – Получаване на името на файла от неговия идентификатор

Ако не сте сигурни в името на файла, но знаете неговия идентификатор, можете да използвате FILE_NAME() функция за връщане на името на файла въз основа на неговия идентификатор.

ИЗБЕРЕТЕ FILEPROPERTY(FILE_NAME(3), 'SpaceUsed') КАТО Резултат;

Резултат:

+---------+| Резултат ||----------|| 52872 |+---------+

Ето го отново с върнатото име на файла:

ИЗБЕРЕТЕ FILE_NAME(3) КАТО [Име на файл], FILEPROPERTY(FILE_NAME(3), 'SpaceUsed') КАТО [Използвано пространство];

Резултат:

<пред>+--------------+--------------+| Име на файла | Използвано пространство ||--------------+--------------|| WWI_UserData | 52872 |+--------------+--------------+

Пример 3 – Връщане на всички стойности на свойства

Към момента на писане, FILEPROPERTY() приема четири стойности на свойства.

Ето пример, който връща всичките четири стойности на свойствата за WWI_Log файл.

DECLARE @file_name varchar(50) ='WWI_Log';SELECT FILEPROPERTY(@file_name, 'IsReadOnly') КАТО IsReadOnly, FILEPROPERTY(@file_name, 'IsPrimaryFile') КАТО IsPrimaryFile, FILE'sIPERTY, FILEPROPERTY AS IsLogFile, FILEPROPERTY(@file_name, 'SpaceUsed') AS SpaceUsed;

Резултат:

+--------------+----------------+------------ +------------+| Само за четене | IsPrimaryFile | IsLogFile | Използвано пространство ||--------------+----------------+------------+ ------------|| 0 | 0 | 1 | 14763 |+--------------+----------------+------------+ ------------+

Пример 4 – Несъществуващ файл

Ето какво се случва, ако посочите файл, който не съществува.

ИЗБЕРЕТЕ FILEPROPERTY('OOPS', 'SpaceUsed') КАТО Резултат;

Резултат:

+---------+| Резултат ||----------|| NULL |+----------+

Пример 5 – Невалидна стойност на свойството

Получаваме същия резултат, когато файлът е правилен, но посочваме невалидна стойност на свойството.

ИЗБЕРЕТЕ FILEPROPERTY('WWI_Log', 'Oops') КАТО резултат;

Резултат:

+---------+| Резултат ||----------|| 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. Как да добавя низ със стойност за автоматично увеличение в SQL Server?

  2. Отстраняване на неизправности Групи за наличност на SQL Server Always On

  3. Не може да се свърже с localDB в VS2012 – Възникна грешка, свързана с мрежата или специфична за екземпляр, при установяване на връзка със SQL Server...

  4. Заявка за изброяване на всички съхранени процедури

  5. DATEPART() Примери в SQL Server