To my knowledge the inbuilt CDC component in SQL server doesnt require a Primary Key column.
The reason is this is simply a log of the activity, so if you insert, update then delete a record you will get 4 rows in the CDC table, the Original Insert, the Update Before, the Update After and finally the Delete.
From a data gathering perspecive you also have the opyion of either retrieving all the different changes or just the last change.
Hope this clarifies things.
_________________________________________________________________________
SSC Guide to Posting and Best Practices