sql >> Database >  >> RDS >> Sqlserver

Zoek de partitioneringskolom voor een gepartitioneerde tabel in SQL Server (T-SQL)

In SQL Server kunt u de volgende query gebruiken om de partitioneringskolom voor een gepartitioneerde tabel te bepalen.

SELECT 
    t.name AS [Table], 
    c.name AS [Partitioning Column],
    TYPE_NAME(c.user_type_id) AS [Column Type],
    ps.name AS [Partition Scheme] 
FROM sys.tables AS t   
JOIN sys.indexes AS i   
    ON t.[object_id] = i.[object_id]   
    AND i.[type] <= 1
JOIN sys.partition_schemes AS ps   
    ON ps.data_space_id = i.data_space_id   
JOIN sys.index_columns AS ic   
    ON ic.[object_id] = i.[object_id]   
    AND ic.index_id = i.index_id   
    AND ic.partition_ordinal >= 1 
JOIN sys.columns AS c   
    ON t.[object_id] = c.[object_id]   
    AND ic.column_id = c.column_id   
WHERE t.name = 'Movies';

Resultaat:

+---------+-----------------------+---------------+-----------------------+
| Table   | Partitioning Column   | Column Type   | Partition Scheme      |
|---------+-----------------------+---------------+-----------------------|
| Movies  | MovieId               | int           | MoviesPartitionScheme |
+---------+-----------------------+---------------+-----------------------+

Zorg ervoor dat u Movies omwisselt met uw tafelnaam.

In mijn geval is de partitioneringskolom MovieId en het is een int type.


  1. Hoe de invoegprestaties in PostgreSQL te versnellen

  2. Query verwijderen en vernieuwen in ListView in Android (sqlite)

  3. Automatiseer databasetestherstel in SQL Server

  4. WHERE-clausules dynamisch / programmatisch aan SQL toevoegen