How to audit all DB3 changes in Azure SQL Database?
Short answer
D Run the sys.sp_cdc_enable_db stored procedure.
Question

Key Takeaways
The exam tests the distinction between Change Tracking and Change Data Capture; CDC captures the actual data changes and transaction details, while Change Tracking only records that a row changed.
To meet the requirement that all changes to DB3—including those within individual transactions—must be audited and recorded, Change Data Capture (CDC) is the appropriate technology. Community consensus strongly favors enabling CDC via sys.sp_cdc_enable_db as the first step.
Common mistake: Many candidates choose C (SET CHANGE_TRACKING = ON) because Change Tracking is simpler, but it does not record the actual data modifications or transaction-level audit details required by the scenario.
Expert Analysis
Why the Answer Is Correct
The security requirement states that all changes to DB3, including ones within individual transactions, must be audited and recorded. Change Data Capture (CDC) captures the actual before-and-after data values and associates them with the transaction log, satisfying this granular audit need. The first step to implement CDC is to enable it at the database level by executing EXEC sys.sp_cdc_enable_db. As noted in comment [1], this must be done before any capture instances can be created on individual tables.
Why the Other Options Are Wrong
Option A (sp_addarticle) is used for transactional replication and is irrelevant to auditing data changes. Options B and C enable Change Tracking, which only records that a row was modified (and by which transaction) but does not capture the actual data values or provide a detailed audit trail. Comment [3] clearly explains that Change Tracking lacks the transaction-level detail required by the scenario, making CDC the only valid choice.
Community Comment Notes
The vote distribution (75 for D, 25 for C) shows that a significant minority confuses Change Tracking with CDC. Comment [4] incorrectly claims CDC is enabled by default in Azure SQL Database, but the official documentation confirms that CDC must be explicitly enabled at the database level before table-level capture instances are created. Comment [2] provides a useful link comparing CDC and Change Tracking, reinforcing why D is correct.
Exam Strategy
When a scenario requires auditing actual data changes and transaction details, always choose Change Data Capture (CDC) over Change Tracking. Remember that CDC must first be enabled at the database level with sys.sp_cdc_enable_db before individual tables can be configured.
Community Votes
75% of anonymous learners picked answer D. Votes are pick records left by other test-takers — they are not the verified answer.
Discussion 6 contributions
Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors.
From public community threads 6
-
JJJR 👍 3 Answered DThe answer is D. Before you can create a capture instance for individual tables, you must enable CDC for your Azure SQL Database. To enable CDC, connect to your Azure SQL Database through Azure Data Studio or SQL Server Management Studio (SSMS). Open a new query window, then enable CDC by running the following T-SQL: EXEC sys.sp_cdc_enable_db; GO https://learn.microsoft.com/en-us/azure/azure-sql/database/change-data-capture-overview?view=azuresql#enable-cdc-for-azure-sql-database
-
bingomutant 👍 1Chat - D - sp_addarticle is used for replication, which is not relevant for this scenario. Change Tracking (options B and C) is focused on tracking which rows have changed, but it does not provide a detailed audit trail of all changes within individual transactions, unlike CDC. Therefore, enabling Change Data Capture with the sys.sp_cdc_enable_db stored procedure aligns with the requirement to audit and record changes.
-
Vitos25 👍 1 Answered CAnswer Correct C According to implementation, DB3 should move to Azure SQL Databases. Change Data Capture (CDC) is enabled by default in Azure SQL Database,Azure SQL Managed Instance. Hence, there is no need to enable it!
-
2f5c7cd 👍 1CDC vs CT https://learn.microsoft.com/en-us/previous-versions/sql/sql-server-2008-r2/cc280519(v=sql.105)?redirectedfrom=MSDN
-
st1a 👍 1You need cdc, not cdtjavascript:void(0). Correct answer is D.
Show 1 more comment
-
angelvenkovicch 👍 1I think it's actually D
Reader comments & corrections
No reader corrections yet — spotted an error or have a note? Share it below.
Related Analysis
Practice All DP-300 Questions
Access 105 questions with complete answers and detailed explanations.
View Full DP-300 Practice Test →