Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Tìm cột phân vùng cho một bảng phân vùng trong SQL Server (T-SQL)

Trong SQL Server, bạn có thể sử dụng truy vấn sau để xác định cột phân vùng cho bảng được phân vùng.

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

Kết quả:

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

Đảm bảo hoán đổi Movies với tên bảng của bạn.

Trong trường hợp của tôi, cột phân vùng là MovieId và nó là int gõ phím.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tự động chống phân mảnh chỉ mục trong cơ sở dữ liệu MS SQL Server

  2. Phương thức SqlDataAdapter.Fill chậm

  3. Nhận tất cả các bậc cha mẹ cho một đứa trẻ

  4. Làm cách nào để lấy tọa độ giới hạn cho mã bưu chính (zip) của Hoa Kỳ?

  5. Kiểu dữ liệu thích hợp nhất để lưu trữ địa chỉ IP trong máy chủ SQL là gì?