Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Znajdź kolumnę partycjonowania dla partycjonowanej tabeli w SQL Server (T-SQL)

W SQL Server możesz użyć następującego zapytania, aby określić kolumnę partycjonowania dla tabeli partycjonowanej.

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';

Wynik:

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

Pamiętaj, aby zamienić Movies z nazwą Twojego stołu.

W moim przypadku kolumna partycjonowania to MovieId i jest to int rodzaj.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. LEFT() vs SET TEXTSIZE w SQL Server:jaka jest różnica?

  2. Bazy danych systemu SQL Server – Konserwacja MSDB

  3. Samouczki dotyczące poczty bazy danych

  4. Jak wybrać dane tabeli z innej bazy danych w SQL Server?

  5. Utwórz funkcję wartościującą tabelę w SQL Server