Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Renvoyer une liste de schémas de partition dans SQL Server (T-SQL)

Vous pouvez utiliser le sys.partition_schemes vue du catalogue système pour renvoyer une liste des schémas de partition dans SQL Server.

Exemple

Voici un exemple pour illustrer.

SELECT * FROM sys.partition_schemes;

Résultat :

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

Pour vous éviter de défiler latéralement, le voici à nouveau en utilisant la sortie verticale :

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

Dans ce cas, je n'ai qu'un seul schéma de partition, et il est donc répertorié.

Cette vue hérite en fait ses six premières colonnes de sys.data_spaces voir.

Trouver l'index

Vous pouvez modifier la requête afin de fournir des informations plus significatives.

Voici un exemple où je le joins avec sys.indexes pour renvoyer l'index, la table et le schéma pertinents.

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;

Résultat :

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

Résultat utilisant la sortie verticale :

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

Les sys.partition_schemes la vue nécessite l'appartenance au public rôle.