مقایسه دو دیتابیس در SQL Server

کوئری برای مقایسه دو دیتابیس SQL Server

توسط admin | گروه sql | 1399/02/29

نظرات 0

 در این مقاله پرس و جوی یا همان Query ارائه شده که توسط آن می توانید بین دو دیتابیس SQL Server اشیاء موجود در آنها  شامل Table و View و . . . را با هم مقایسه کنید و مواردی که دارای اختلاف هستند را نمایش دهید. این Query در دیتابیسهای بسیار بزرگ بسیار کارگشا می باشد.

DECLARE @SourceDB VARCHAR(50) 

DECLARE @DestinationDB VARCHAR(50) 

DECLARE @SQL VARCHAR(MAX) 

SELECT @SourceDB = 'HesSiteDB' 

SELECT @DestinationDB = 'InsuranceDB'

     

SELECT @SQL = 

'

SELECT 

ISNULL(S.name,D.name) ObjectName

,CASE  

WHEN S.object_id IS NULL 

THEN D.type_desc + '' is missing in the Source Database: ' + @SourceDB + ''' 

WHEN D.object_id IS NULL 

THEN S.type_desc +  '' is missing in the Destination Database: ' + @DestinationDB + ''' 

END ''Status'' 

FROM 

(

SELECT * FROM ' + @SourceDB + '.SYS.objects  

WHERE Type_desc not in (''INTERNAL_TABLE'',''SYSTEM_TABLE'',''SERVICE_QUEUE'')

) AS S  

FULL OUTER JOIN 

(

SELECT * FROM ' + @DestinationDB + '.SYS.objects  

WHERE Type_desc not in (''INTERNAL_TABLE'',''SYSTEM_TABLE'',''SERVICE_QUEUE'')

) AS D 

ON S.name = D.name 

AND S.type = D.type 

ORDER BY isnull(S.type,D.type)

'  

EXEC (@Sql)

 

0 نظر

نظر محترم شما در مورد مقاله های وب سایت برنامه نویسی و پایگاه داده

نظرات محترم شما در خدمات رسانی بهتر ما را یاری می نمایند. لطفا اگر مایل بودید یک نظر ما را مهمان فرمائید. آدرس ایمیل و وب سایت شما نمایش داده نخواهد شد.

حرف 500 حداکثر