This query gives me everything i need except the column used in HASH distribution:
select * from sys.pdw_table_distribution_properties
Do I need a table to join to get it?
This query gives me everything i need except the column used in HASH distribution:
select * from sys.pdw_table_distribution_properties
Do I need a table to join to get it?
Use this to also see the other distribution types other than hash.
SELECT OBJECT_SCHEMA_NAME(PDW_TABLE_DISTRIBUTION_PROPERTIES.OBJECT_ID) AS [SCHEMA],
OBJECT_NAME(PDW_TABLE_DISTRIBUTION_PROPERTIES.OBJECT_ID) AS [TABLE],
DISTRIBUTION_COLUMN.DISTRIBUTION_ORDINAL AS [DISTRIBUTION_ORDINAL],
PDW_TABLE_DISTRIBUTION_PROPERTIES.DISTRIBUTION_POLICY_DESC AS [DISTRIBUTION_POLICY],
DISTRIBUTION_COLUMN.[COLUMN]
FROM SYS.PDW_TABLE_DISTRIBUTION_PROPERTIES
LEFT OUTER JOIN (
SELECT PDW_COLUMN_DISTRIBUTION_PROPERTIES.OBJECT_ID AS [OBJECT_ID],
PDW_COLUMN_DISTRIBUTION_PROPERTIES.DISTRIBUTION_ORDINAL AS [DISTRIBUTION_ORDINAL],
COLUMNS.NAME AS [COLUMN]
FROM SYS.PDW_COLUMN_DISTRIBUTION_PROPERTIES
INNER JOIN SYS.COLUMNS
ON COLUMNS.OBJECT_ID = PDW_COLUMN_DISTRIBUTION_PROPERTIES.OBJECT_ID
AND COLUMNS.COLUMN_ID = PDW_COLUMN_DISTRIBUTION_PROPERTIES.COLUMN_ID
WHERE DISTRIBUTION_ORDINAL > 0 ) AS DISTRIBUTION_COLUMN
ON DISTRIBUTION_COLUMN.OBJECT_ID = PDW_TABLE_DISTRIBUTION_PROPERTIES.OBJECT_ID
ORDER BY OBJECT_SCHEMA_NAME(PDW_TABLE_DISTRIBUTION_PROPERTIES.OBJECT_ID),
OBJECT_NAME(PDW_TABLE_DISTRIBUTION_PROPERTIES.OBJECT_ID),
DISTRIBUTION_COLUMN.DISTRIBUTION_ORDINAL
You have to specify the distribution as HASH in
sys.pdw_table_distribution_properties
and set thedistribution_ordinal
to> 0
(presumably paving the way for multi-column HASH tables). Something like this should work: