Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Restituire un elenco di schemi di partizione in SQL Server (T-SQL)

Puoi usare sys.partition_schemes vista del catalogo di sistema per restituire un elenco di schemi di partizione in SQL Server.

Esempio

Ecco un esempio da dimostrare.

SELECT * FROM sys.partition_schemes;

Risultato:

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

Per evitare di scorrere lateralmente, eccolo di nuovo utilizzando l'output verticale:

name          | MoviesPartitionScheme
data_space_id | 65606
type          | PS
type_desc     | PARTITION_SCHEME
is_default    | 0
is_system     | 0
function_id   | 65542

In questo caso, ho solo uno schema di partizione e quindi è elencato.

Questa vista in realtà eredita le sue prime sei colonne da sys.data_spaces Visualizza.

Trova l'indice

È possibile modificare la query per fornire informazioni più significative.

Ecco un esempio in cui mi unisco a sys.indexes per restituire l'indice, la tabella e lo schema pertinenti.

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;

Risultato:

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

Risultato utilizzando l'output verticale:

Schema           | dbo
Object           | Movies
Index            | PK__Movies__4BD2941AD44D2FCF
Partition Scheme | MoviesPartitionScheme

Il sys.partition_schemes view richiede l'appartenenza al pubblico ruolo.