Hi Dana Brooks,
The COPY command failed because the SQL Dedicated Pool was using an identity that did not have permission to access the ADLS Gen2 storage path, which caused the validation step to return 403 Forbidden.
When you switched to a Notebook, it worked because the Notebook uses a different identity (such as your user identity or the Spark pool managed identity) that did have access to the storage account.
Permission mismatch — the identity used by COPY INTO did not have Storage Blob access.
Using the Notebook worked because it authenticated with an identity that already had correct storage permissions. To make COPY work, ensure the Synapse workspace or SQL pool managed identity has Storage Blob Data Reader/Contributor access.