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

Retornar uma lista de esquemas de partição no SQL Server (T-SQL)


Você pode usar o sys.partition_schemes exibição do catálogo do sistema para retornar uma lista de esquemas de partição no SQL Server.

Exemplo


Aqui está um exemplo para demonstrar.
SELECT * FROM sys.partition_schemes;

Resultado:
+-----------------------+-----------------+--------+------------------+--------------+-------------+---------------+
| name                  | data_space_id   | type   | type_desc        | is_default   | is_system   | function_id   |
|-----------------------+-----------------+--------+------------------+--------------+-------------+---------------|
| MoviesPartitionScheme | 65606           | PS     | PARTITION_SCHEME | 0            | 0           | 65542         |
+-----------------------+-----------------+--------+------------------+--------------+-------------+---------------+

Para evitar que você role para os lados, aqui está novamente usando a saída vertical:
name          | MoviesPartitionScheme
data_space_id | 65606
type          | PS
type_desc     | PARTITION_SCHEME
is_default    | 0
is_system     | 0
function_id   | 65542

Nesse caso, tenho apenas um esquema de partição e, portanto, ele está listado.

Essa exibição na verdade herda suas primeiras seis colunas do sys.data_spaces visualizar.

Encontre o Índice


Você pode modificar a consulta para fornecer informações mais significativas.

Aqui está um exemplo onde eu junto com sys.indexes para retornar o índice, a tabela e o esquema relevantes.
SELECT 
    object_schema_name(i.object_id) AS [Schema],
    object_name(i.object_id) AS [Object],
    i.name AS [Index],
    s.name AS [Partition Scheme]
    FROM sys.indexes i
    INNER JOIN sys.partition_schemes s ON i.data_space_id = s.data_space_id;

Resultado:
+----------+----------+------------------------------+-----------------------+
| Schema   | Object   | Index                        | Partition Scheme      |
|----------+----------+------------------------------+-----------------------|
| dbo      | Movies   | PK__Movies__4BD2941AD44D2FCF | MoviesPartitionScheme |
+----------+----------+------------------------------+-----------------------+

Resultado usando saída vertical:
Schema           | dbo
Object           | Movies
Index            | PK__Movies__4BD2941AD44D2FCF
Partition Scheme | MoviesPartitionScheme

Os sys.partition_schemes visualização requer associação ao público Função.