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

Devolver una lista de esquemas de partición en SQL Server (T-SQL)

Puede usar sys.partition_schemes vista de catálogo del sistema para devolver una lista de esquemas de partición en SQL Server.

Ejemplo

Aquí hay un ejemplo para demostrarlo.

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 se desplace hacia los lados, aquí está nuevamente usando la salida vertical:

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

En este caso, solo tengo un esquema de partición, por lo que aparece en la lista.

Esta vista en realidad hereda sus primeras seis columnas de sys.data_spaces vista.

Buscar el índice

Puede modificar la consulta para proporcionar información más significativa.

Aquí hay un ejemplo donde lo uno con sys.indexes para devolver el índice, la tabla y el 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 salida vertical:

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

Los sys.partition_schemes la vista requiere ser miembro del público rol.