Listing 2: Code to Create and Populate the Partitioned OrderDetails Table USE testdb; IF OBJECT_ID('OrderDetails') IS NOT NULL DROP TABLE OrderDetails; GO CREATE TABLE OrderDetails ( orderid int NOT NULL, orderdetailid int NOT NULL, orderdate datetime NOT NULL, productid int NOT NULL, qty int NOT NULL, /* ... other columns ... */ ) ON PS_Orders(orderdate); INSERT INTO OrderDetails(orderid, orderdetailid, orderdate, productid, qty) SELECT D.SalesOrderID, D.SalesOrderDetailID, H.OrderDate, D.ProductID, D.OrderQty FROM AdventureWorks.Sales.SalesOrderHeader AS H JOIN AdventureWorks.Sales.SalesOrderDetail AS D ON H.SalesOrderID = D.SalesOrderID WHERE H.OrderDate >= '20030101' AND H.OrderDate < '20050101'; ALTER TABLE OrderDetails ADD CONSTRAINT PK_OrderDetails PRIMARY KEY(orderdate, orderid, orderdetailid) ON PS_Orders(orderdate); CREATE UNIQUE INDEX idx_nc_orderid_orderdetailid ON OrderDetails(orderid, orderdetailid, orderdate) ON PS_Orders(orderdate);