エラーは、ソーステーブルとターゲットテーブルがストレージアライメントされていないことを示します。以下のクエリを実行して、ソースファイルとターゲットファイルグループがテーブルとインデックスの両方で一致していることを確認してください。
SELECT
OBJECT_NAME(p.object_id) AS ObjectName,
i.name AS IndexName,
p.index_id AS IndexID,
ds.name AS PartitionScheme,
p.partition_number AS PartitionNumber,
fg.name AS FileGroupName,
prv_left.value AS LowerBoundaryValue,
prv_right.value AS UpperBoundaryValue,
CASE pf.boundary_value_on_right WHEN 1 THEN 'RIGHT' ELSE 'LEFT' END AS PartitionFunctionRange,
p.rows AS Rows
FROM
sys.partitions AS p INNER JOIN
sys.indexes AS i ON i.object_id = p.object_id AND i.index_id = p.index_id INNER JOIN
sys.data_spaces AS ds ON ds.data_space_id = i.data_space_id INNER JOIN
sys.partition_schemes AS ps ON ps.data_space_id = ds.data_space_id INNER JOIN
sys.partition_functions AS pf ON pf.function_id = ps.function_id INNER JOIN
sys.destination_data_spaces AS dds2 ON dds2.partition_scheme_id = ps.data_space_id AND dds2.destination_id = p.partition_number INNER JOIN
sys.filegroups AS fg ON fg.data_space_id = dds2.data_space_id LEFT OUTER JOIN
sys.partition_range_values AS prv_left ON ps.function_id = prv_left.function_id AND prv_left.boundary_id = p.partition_number - 1 LEFT OUTER JOIN
sys.partition_range_values AS prv_right ON ps.function_id = prv_right.function_id AND prv_right.boundary_id = p.partition_number
WHERE
p.object_id IN (
OBJECT_ID(N'dbo.ABC')
, OBJECT_ID(N'dbo.XYZ')
)
AND p.partition_number = 5
ORDER BY
ObjectName
,IndexName
,PartitionNumber;
複数のファイルグループにまたがってテーブルを配布すると、このエラーを回避する方法。 – Teja
同じデータベースに2つのテーブルがありますか? –
はい両方が同じdbにあります – Teja