Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como usar FILEGROUPPROPERTY() no SQL Server


No SQL Server, você pode usar o FILEGROUPPROPERTY() para retornar o valor da propriedade do grupo de arquivos para um nome e valor de grupo de arquivos especificados. O valor retornado é 1 ou 0 (ou NULL se a entrada for inválida).

Para usá-lo, forneça o nome do grupo de arquivos e o valor da propriedade que deseja retornar.


Exemplo 1 – Consulta básica


Aqui está um exemplo para demonstrar.
USE WideWorldImporters;
SELECT FILEGROUPPROPERTY('PRIMARY', 'IsDefault') AS Result;

Resultado:
+----------+
| Result   |
|----------|
| 0        |
+----------+

O valor de 0 significa que este não é o grupo de arquivos padrão para este banco de dados.

Se eu mudar de banco de dados, posso ver que o PRIMARY grupo de arquivos é o grupo de arquivos padrão para esse banco de dados:
USE Music;
SELECT FILEGROUPPROPERTY('PRIMARY', 'IsDefault') AS Result;

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

Exemplo 2 – Retornar todos os valores de propriedade


No momento da escrita, FILEGROUPPROPERTY() aceita três valores de propriedade.

Aqui está um exemplo que retorna todos os três valores de propriedade para o USERDATA grupo de arquivos.
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      |
+--------+--------+--------+

Exemplo 3 – Grupo de arquivos inexistente


Veja o que acontece se você especificar um grupo de arquivos que não existe.
SELECT FILEGROUPPROPERTY('OOPS', 'IsDefault') AS Result;

Resultado:
+----------+
| Result   |
|----------|
| NULL     |
+----------+

Exemplo 4 – Valor de propriedade inválido


Obtemos o mesmo resultado quando o grupo de arquivos está correto, mas especificamos um valor de propriedade inválido.
SELECT FILEGROUPPROPERTY('USERDATA', 'OOPS') AS Result;

Resultado:
+----------+
| Result   |
|----------|
| NULL     |
+----------+

Nome do grupo de arquivos de retorno


Se você tem o ID do grupo de arquivos, mas não seu nome, você pode usar FILEGROUP_NAME() para retornar o nome de um grupo de arquivos com base em seu ID.

Retornar todos os grupos de arquivos


Se você quiser devolver todos grupos de arquivos para um determinado banco de dados, consulte Como retornar todos os grupos de arquivos no SQL Server.

Criar um grupo de arquivos


Se você quiser criar um novo grupo de arquivos, consulte Como adicionar um grupo de arquivos no SQL Server.