sql >> Databáze >  >> RDS >> Sqlserver

Jak používat FILEPROPERTY() v SQL Server

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     |
+----------+

  1. Může dojít k uváznutí se stejnou metodou přístupu?

  2. Podporuje Oracle fulltextové vyhledávání?

  3. Hledáte jednoduché fulltextové vyhledávání? Vyzkoušejte MySQL InnoDB + CakePHP s Word Stemming

  4. Znovu vytvořte špatný uzel RAC