sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo usar FILEGROUPPROPERTY() en SQL Server

En SQL Server, puede usar FILEGROUPPROPERTY() para devolver el valor de la propiedad del grupo de archivos para un nombre y un valor de grupo de archivos especificados. El valor devuelto es 1 o 0 (o NULL si la entrada no es válida).

Para usarlo, proporcione el nombre del grupo de archivos y el valor de la propiedad que desea devolver.

Ejemplo 1:consulta básica

Aquí hay un ejemplo para demostrarlo.

USE WideWorldImporters;
SELECT FILEGROUPPROPERTY('PRIMARY', 'IsDefault') AS Result;

Resultado:

+----------+
| Result   |
|----------|
| 0        |
+----------+

El valor de 0 significa que este no es el grupo de archivos predeterminado para esta base de datos.

Si cambio de base de datos, puedo ver que PRIMARY el grupo de archivos es el grupo de archivos predeterminado para esa base de datos:

USE Music;
SELECT FILEGROUPPROPERTY('PRIMARY', 'IsDefault') AS Result;

Resultado:

Changed database context to 'Music'.
+----------+
| Result   |
|----------|
| 1        |
+----------+

Ejemplo 2:devolver todos los valores de propiedad

Al momento de escribir, FILEGROUPPROPERTY() acepta tres valores de propiedad.

Aquí hay un ejemplo que devuelve los tres valores de propiedad para USERDATA grupo de archivos.

SELECT 
  FILEGROUPPROPERTY('USERDATA', 'IsReadOnly') AS FG_1,
  FILEGROUPPROPERTY('USERDATA', 'IsUserDefinedFG') AS FG_2,
  FILEGROUPPROPERTY('USERDATA', 'IsDefault') AS FG_3;

Resultado:

+--------+--------+--------+
| FG_1   | FG_2   | FG_3   |
|--------+--------+--------|
| 0      | 1      | 1      |
+--------+--------+--------+

Ejemplo 3:grupo de archivos inexistente

Esto es lo que sucede si especifica un grupo de archivos que no existe.

SELECT FILEGROUPPROPERTY('OOPS', 'IsDefault') AS Result;

Resultado:

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

Ejemplo 4:valor de propiedad no válido

Obtenemos el mismo resultado cuando el grupo de archivos es correcto, pero especificamos un valor de propiedad no válido.

SELECT FILEGROUPPROPERTY('USERDATA', 'OOPS') AS Result;

Resultado:

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

Devolver el nombre del grupo de archivos

Si tiene la ID del grupo de archivos pero no su nombre, puede usar FILEGROUP_NAME() para devolver el nombre de un grupo de archivos basado en su ID.

Devolver todos los grupos de archivos

Si desea devolver todas grupos de archivos para una base de datos determinada, consulte Cómo devolver todos los grupos de archivos en SQL Server.

Crear un grupo de archivos

Si desea crear un nuevo grupo de archivos, consulte Cómo agregar un grupo de archivos en SQL Server.