Como saber que tablas y que campos tiene diferente colación que la colación por defecto de SQL Server

Es común en sql server que cuando no es compatible la colación por defecto con algún campo , en mi caso pro que he restaurado base de datos con diferente colación, obtener un error de incompatibilidad en la colación ejemplo :

Cannot resolve the collation conflict between «Modern_Spanish_CI_AS» and «SQL_Latin1_General_CP1_CI_AS» in the equal to operation.

para detectar esto uso el siguiente script y si quiero lo soluciono manualmente campo a campo

DECLARE @DefaultCollation NVARCHAR(128);

— Obtener la collation predeterminada de la base de datos actual
SELECT @DefaultCollation = collation_name
FROM sys.databases
WHERE name = DB_NAME();

— Seleccionar columnas que no usan la collation predeterminada
SELECT
t.name AS TableName,
c.name AS ColumnName,
collation_name AS ColumnCollation
FROM
sys.columns c
JOIN
sys.tables t ON c.object_id = t.object_id
WHERE
collation_name IS NOT NULL AND collation_name <> @DefaultCollation
ORDER BY 1,2