There are two scenarios in SQL Server that can leave tables with rows that are not bound by an existing FOREIGN KEY constraint or CHECK constraint:
Beekeeper Studio Is A Free & Open Source Database GUI
Best SQL query & editor tool I have ever used. It provides everything I need to manage my database. - ⭐⭐⭐⭐⭐ Mit
Beekeeper Studio is fast, intuitive, and easy to use. Beekeeper supports loads of databases, and works great on Windows, Mac and Linux.
- Newly added constraints ignore existing table data if created using “WITH NOCHECK”.
- Re-enabled constraints ignore all table updates and inserts that took place since the constraint was disabled (disabled constraints appear with a red icon in Teratrax Database Manager. Right-click on constraint name to enable it).
Use DBCC CHECKCONSTRAINS to check the integrity of your FOREIGN KEY constraints and CHECK constraints and make sure there are no constraint violations. The command returns a list of rows containing all violations. DBCC CHECKCONSTRAINTS does not return any rows if there are no constraint violations.
Syntax
To check all constraints in the current database:
DBCC CHECKCONSTRAINTS
To check all constraints on a single table:
DBCC CHECKCONSTRAINTS ('table1')
You can run this SQL command from any SQL query window. By default, DBCC CHECKCONSTRAINTS returns the first 200 rows only.
DBCC CHECKCONSTRAINTS checks against enabled constraints only unless WITH ALL_CONSTRAINTS is specified. The returned result consists of table name, constraint name and a WHERE clause that identifies the violating row in the table.