FILE_IDEX (Transact-SQL)

gäller för:SQL ServerAzure SQL Managed Instance

Denna funktion returnerar filidentifieringsnumret (ID) för det angivna logiska namnet på en data, logg eller fulltextfil i den aktuella databasen.

Transact-SQL syntaxkonventioner

Syntax

FILE_IDEX ( file_name )  

Arguments

file_name
Ett uttryck av typen sysname som returnerar fil-ID-värdet 'FILE_IDEX' för filens namn.

Returtyper

int

NULL på fel

Remarks

file_name motsvarar det logiska filnamnet som visas i namnkolumnen från sys.master_files - eller sys.database_files katalogvyerna.

Använd FILE_IDEX i en SELECT-lista, en WHERE-klausul eller var som helst som stödjer användning av ett uttryck. Mer information finns i Uttryck (Transact-SQL).

Examples

A. Hämta fil-id för en specificerad fil

Detta exempel returnerar fil-ID för filen AdventureWorks_Data .

USE AdventureWorks2022;  
GO  
SELECT FILE_IDEX('AdventureWorks2022_Data') AS 'File ID';  
GO  

Här är resultatet.

File ID   
-------   
1  
(1 row(s) affected)  

B. Hämtar fil-id när filnamnet inte är känt

Detta exempel returnerar fil-ID för loggfilen AdventureWorks . Transact-SQL (T-SQL) kodsnipningen väljer det logiska filnamnet från sys.database_files katalogvyn, där filtypen är 1 lika med (logg).

USE AdventureWorks2022;  
GO  
SELECT FILE_IDEX((SELECT TOP (1) name FROM sys.database_files WHERE type = 1)) AS 'File ID';  
GO  

Här är resultatet.

File ID   
-------   
2  

C. Hämta fil-id för en fulltextkatalogfil

Detta exempel returnerar fil-ID för en fulltextfil. T-SQL-kodutsnittet väljer det logiska filnamnet från sys.database_files katalogvyn, där filtypen är 4 lika med (fulltext). Denna kod returnerar 'NULL' om en fulltextkatalog inte finns.

SELECT FILE_IDEX((SELECT name FROM sys.master_files WHERE type = 4))  
AS 'File_ID';