You can compare the schemas of tables using querying the dm_exec_describe_first_result_set dynamic management function:
CREATE DATABASE TESTDB
CREATE DATABASE TESTDB2
CREATE TABLE TESTDB.dbo.FirstComTable
( ID INT IDENTITY (1,1) PRIMARY KEY,
FirstName VARCHAR (50),
LastName VARCHAR (50),
Address VARCHAR (500)
)
GO
CREATE TABLE TESTDB2.dbo.FirstComTable
( ID INT IDENTITY (1,1) PRIMARY KEY,
FirstName VARCHAR (50),
LastName VARCHAR (50),
Address NVARCHAR (400)
)
GO
SELECT FT.name , ST.name ,
FT.system_type_name , ST.system_type_name ,
FT.max_length , ST.max_length
FROM sys.dm_exec_describe_first_result_set (N'SELECT * FROM TESTDB.DBO.FirstComTable', NULL, 0) FT
LEFT OUTER JOIN sys.dm_exec_describe_first_result_set (N'SELECT * FROM TESTDB2.DBO.FirstComTable', NULL, 0) ST
ON FT.Name =ST.Name
You can check the further compare methods through the link:
Different Ways to Compare SQL Server Tables Schema and Data - {coding}Sight[
^]