commit be2b30e1004eed0f38704f02a831816bfa78f2d7
Author: Andreas Müller <a.mueller@bgbm.org>
Date:   Thu Jun 7 17:04:54 2012 +0000

    move check master to test package

diff --git a/.gitattributes b/.gitattributes
index 5548e0ad..5a16969d 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1343,8 +1343,7 @@ cdm-pesi/src/main/java/eu/etaxonomy/cdm/io/pesi/out/PesiRelTaxonExport.java -tex
 cdm-pesi/src/main/java/eu/etaxonomy/cdm/io/pesi/out/PesiSourceExport.java -text
 cdm-pesi/src/main/java/eu/etaxonomy/cdm/io/pesi/out/PesiTaxonExport.java -text
 cdm-pesi/src/main/java/eu/etaxonomy/cdm/io/pesi/out/PesiTransformer.java -text
-cdm-pesi/src/main/resources/Check_Import_Master.sql -text
 cdm-pesi/src/main/resources/log4j.properties -text
-cdm-pesi/src/main/resources/sql/Check_Import_Master.sql -text
 cdm-pesi/src/test/java/eu/etaxonomy/cdm/io/common/TestConnection.java -text
 cdm-pesi/src/test/java/eu/etaxonomy/cdm/io/erms/ermsErrors.txt -text
+cdm-pesi/src/test/resources/sql/Check_Import_Master.sql -text
diff --git a/cdm-pesi/src/main/resources/Check_Import_Master.sql b/cdm-pesi/src/main/resources/Check_Import_Master.sql
deleted file mode 100644
index e3ef9452..00000000
--- a/cdm-pesi/src/main/resources/Check_Import_Master.sql
+++ /dev/null
@@ -1,1180 +0,0 @@
-BEGIN
-
-	DECLARE @n INT
-	DECLARE @n_cdm INT
-	DECLARE @n_bm INT
-	DECLARE @str_n NVARCHAR (7)
-	DECLARE @str_n_cdm NVARCHAR (7)
-	DECLARE @str_n_bm NVARCHAR (7)
-
-
-------------------------------------------- Taxon -------------------------------
-
-	SELECT @n_bm = COUNT(*) FROM [EM2PESI].[DBO].TAXON
-	SELECT @n_cdm = COUNT(*) FROM [CDM_EM2PESI].[DBO].TAXON
-	SET @n = @n_bm - @n_cdm
-
-	SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-	SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-	SET @str_n = Cast(@n AS NVARCHAR)
-
-	IF @n = 0 BEGIN
-		PRINT ('Both databases have the same number of taxa = ' + @str_n_bm)
-	END ELSE PRINT ('WARNING: Both databases DO NOT have the same number of taxa, n_bm = ' + @str_n_bm + ' and n_cdm = '+ @str_n_cdm)
-	SELECT @n = COUNT(*)
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON (bm_t.IdInSource = cdm_t.IdInSource OR bm_t.IdInSource IS NULL AND cdm_t.IdInSource IS NULL) 
-		    AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-	SET @str_n = Cast(@n AS NVARCHAR)
-	IF @n = @n_bm BEGIN
-		PRINT ('To each taxon from one database there is an identical taxon in the other one (IdInSource, GUID)')
-	END ELSE PRINT ('WARNING: Only ' + @str_n + ' taxa are identical (IdInSource, GUID) in both databases')
-
-		/*
-	SELECT cdm_t.Fullname, cdm_t.IdInSource, cdm_t.GUID, 'in CDM_EM2PESI but not in EM2PESI'
-	FROM [CDM_EM2PESI].[DBO].TAXON cdm_t
-	WHERE NOT EXISTS
-		(SELECT * FROM [EM2PESI].[DBO].TAXON WHERE (IdInSource = cdm_t.IdInSource OR IdInSource IS NULL AND cdm_t.IdInSource IS NULL)
-		AND ISNULL(GUID, '') = ISNULL(cdm_t.GUID, ''))
-	ORDER BY cdm_t.IdInSource
-
-	SELECT bm_t.Fullname, bm_t.IdInSource, bm_t.GUID, 'in EM2PESI but not in CDM_EM2PESI'
-	FROM [EM2PESI].[DBO].TAXON bm_t
-	WHERE NOT EXISTS
-		(SELECT * FROM [CDM_EM2PESI].[DBO].TAXON WHERE (IdInSource = bm_t.IdInSource OR IdInSource IS NULL AND bm_t.IdInSource IS NULL)
-		AND ISNULL(GUID, '') = ISNULL(bm_t.GUID, ''))
-	ORDER BY bm_t.IdInSource
-
-	*/
-
--- Source
-/* Does not make much sense since the source for taxa is almost always the database itself which must be created as source
-	SELECT @n_bm = COUNT(*) FROM [EM2PESI].[DBO].TAXON WHERE SourceFk IS NOT NULL
-	SELECT @n_cdm = COUNT(*) FROM [CDM_EM2PESI].[DBO].TAXON WHERE SourceFk IS NOT NULL
-	SET @n = @n_bm - @n_cdm
-
-	SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-	SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-	SET @str_n = Cast(@n AS NVARCHAR)
-
-	IF @n = 0 BEGIN
-		PRINT ('Both databases have the same number of taxa which have a source = ' + @str_n_bm)
-	END ELSE PRINT ('WARNING: Both databases DO NOT have the same number of taxa that have a source, n_bm = ' + @str_n_bm + ' and n_cdm = '+ @str_n_cdm)
-
-		SELECT @n = COUNT(*) -- in both databases sources exist but are different
-			FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t
-			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
-			[EM2PESI].[DBO].SOURCE bm_s ON bm_t.SourceFk = bm_s.SourceId INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_s ON cdm_t.SourceFk = cdm_s.SourceId
-			WHERE bm_s.RefIdInSource <> cdm_s.RefIdInSource OR ISNULL(bm_s.OriginalDB, '') <> ISNULL(cdm_s.OriginalDB, '')
-		SET @str_n = Cast(@n AS NVARCHAR)
-		IF @n = 0 BEGIN
-			PRINT ('All identical taxa that have sources have the same source')
-		END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa have different sources')
-	/-*
-		SELECT cdm_t.Fullname, cdm_s.RefIdInSource as Source_CDM_EM2PESI, bm_s.RefIdInSource as Source_EM2PESI
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
-		[EM2PESI].[DBO].SOURCE bm_s ON bm_t.SourceFk = bm_s.SourceId INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_s ON cdm_t.SourceFk = cdm_s.SourceId
-		WHERE bm_s.RefIdInSource <> cdm_s.RefIdInSource OR ISNULL(bm_s.OriginalDB, '') <> ISNULL(cdm_s.OriginalDB, '')
-	*-/
-		SELECT @n_bm = COUNT(*) -- taxa with source only in EM2PESI
-			FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t
-			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
-			[EM2PESI].[DBO].SOURCE bm_s ON bm_t.SourceFk = bm_s.SourceId
-			WHERE NOT EXISTS
-				(SELECT * FROM [CDM_EM2PESI].[DBO].TAXON INNER JOIN
-				[CDM_EM2PESI].[DBO].TAXON cdm_s ON SourceFk = SourceId
-				WHERE cdm_s.RefIdInSource = bm_s.RefIdInSource AND cdm_s.OriginalDB = bm_s.OriginalDB
-				AND IdInSource = bm_t.IdInSource AND ISNULL(GUID, '') = ISNULL(bm_t.GUID, ''))
-		SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-		IF @n_bm > 0 PRINT ('WARNING: ' + @str_n_bm + ' taxa have sources in EM2PESI but not in CDM_EM2PESI')
-	/-*
-		SELECT cdm_t.Fullname, bm_s.Fullname as source_EM2PESI, 'in EM2PESI but not in CDM_EM2PESI'
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
-		[EM2PESI].[DBO].SOURCE bm_s ON bm_t.SourceFk = bm_s.SourceId
-		WHERE NOT EXISTS
-		(SELECT * FROM [CDM_EM2PESI].[DBO].TAXON INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_s ON SourceFk = SourceId
-		WHERE cdm_s.RefIdInSource = bm_s.RefIdInSource AND cdm_s.OriginalDB = bm_s.OriginalDB
-		AND IdInSource = bm_t.IdInSource AND ISNULL(GUID, '') = ISNULL(bm_t.GUID, ''))
-	*-/
-		SELECT @n_cdm = COUNT(*) -- taxa with source only in CDM_EM2PESI
-			FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t
-			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
-			[CDM_EM2PESI].[DBO].SOURCE cdm_s ON cdm_t.SourceFk = cdm_s.SourceId
-			WHERE NOT EXISTS
-				(SELECT * FROM [EM2PESI].[DBO].TAXON INNER JOIN
-				[EM2PESI].[DBO].TAXON bm_s ON SourceFk = SourceId
-				WHERE cdm_s.RefIdInSource = bm_s.RefIdInSource AND cdm_s.OriginalDB = bm_s.OriginalDB
-				AND IdInSource = cdm_t.IdInSource AND ISNULL(GUID, '') = ISNULL(cdm_t.GUID, ''))
-		SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-		IF @n_cdm > 0 PRINT ('WARNING: ' + @str_n_cdm + ' taxa have sources in CDM_EM2PESI but not in EM2PESI')
-	/-*
-		SELECT cdm_t.Fullname, cdm_s.Fullname as source_CDM_EM2PESI, 'in CDM_EM2PESI but not in EM2PESI'
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
-		[CDM_EM2PESI].[DBO].SOURCE cdm_s ON bm_t.SourceFk = cdm_s.SourceId
-		(SELECT * FROM [EM2PESI].[DBO].TAXON INNER JOIN
-		[EM2PESI].[DBO].TAXON bm_s ON SourceFk = SourceId
-		WHERE cdm_s.RefIdInSource = bm_s.RefIdInSource AND cdm_s.OriginalDB = bm_s.OriginalDB
-		AND IdInSource = cdm_t.IdInSource AND ISNULL(GUID, '') = ISNULL(cdm_t.GUID, ''))
-	*-/
-		IF @n = 0 AND @n_cdm = 0 AND @n_bm = 0 BEGIN
-			PRINT ('All identical taxa have the same source')
-		END
-
-*/
-
--- Authors
-	SELECT @n = COUNT(*)
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		CDM_EM2PESI.[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE ISNULL(bm_t.AuthorString, '') <> ISNULL(cdm_t.AuthorString, '')
-	SET @str_n = Cast(@n AS NVARCHAR)
-	IF @n = 0 BEGIN
-		PRINT ('All identical taxa have the same authors')
-	END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa DO NOT have the same authors')
-
-	/*
-		SELECT cdm_t.TaxonId as ID_CDM, bm_t.TaxonId as ID_SQL, cdm_t.FullName as FullName_CDM, bm_t.FullName as FullName_SQL,
-			cdm_t.AuthorString as AuthorString_CDM, bm_t.AuthorString as AuthorString_SQL
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		CDM_EM2PESI.[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE ISNULL(bm_t.AuthorString, '') <> ISNULL(cdm_t.AuthorString, '')
-	*/
-
--- Epithets
-	SELECT @n = COUNT(*)
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE ISNULL(bm_t.GenusOrUninomial, '') <> ISNULL(cdm_t.GenusOrUninomial, '') OR
-		ISNULL(bm_t.InfraGenericEpithet, '') <> ISNULL(cdm_t.InfraGenericEpithet, '') OR
-		ISNULL(bm_t.SpecificEpithet, '') <> ISNULL(cdm_t.SpecificEpithet, '') OR
-		ISNULL(bm_t.InfraSpecificEpithet, '') <> ISNULL(cdm_t.InfraSpecificEpithet, '')
-	SET @str_n = Cast(@n AS NVARCHAR)
-	IF @n = 0 BEGIN
-		PRINT ('All identical taxa have the same epithets')
-	END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa DO NOT have the same epithets')
-
-	/*
-	SELECT  cdm_t.GenusOrUninomial as Genus_CDM, bm_t.GenusOrUninomial as Genus_SQL,
-			cdm_t.InfraGenericEpithet as Infragenus_CDM, bm_t.InfraGenericEpithet as Infragenus_SQL,
-			cdm_t.SpecificEpithet  as SpecificEpithet_CDM, bm_t.SpecificEpithet as SpecificEpithet_SQL,
-			cdm_t.InfraSpecificEpithet as Infraspec_CDM, bm_t.InfraSpecificEpithet as Infraspec_SQL
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		CDM_EM2PESI.[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE ISNULL(bm_t.GenusOrUninomial, '') <> ISNULL(cdm_t.GenusOrUninomial, '') OR
-		ISNULL(bm_t.InfraGenericEpithet, '') <> ISNULL(cdm_t.InfraGenericEpithet, '') OR
-		ISNULL(bm_t.SpecificEpithet, '') <> ISNULL(cdm_t.SpecificEpithet, '') OR
-		ISNULL(bm_t.InfraSpecificEpithet, '') <> ISNULL(cdm_t.InfraSpecificEpithet, '')
-	*/
-
--- Names
-	SELECT @n = COUNT(*)
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE ISNULL(bm_t.WebSearchName, '') <> ISNULL(cdm_t.WebSearchName, '') OR
-		ISNULL(bm_t.WebShowName, '') <> ISNULL(cdm_t.WebShowName, '') OR
-		ISNULL(bm_t.DisplayName, '') <> ISNULL(cdm_t.DisplayName, '')
-	SET @str_n = Cast(@n AS NVARCHAR)
-	IF @n = 0 BEGIN
-		PRINT ('All identical taxa have the same scientific name')
-	END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa DO NOT have the same scientific name')
-	/*
-	SELECT cdm_t.WebSearchName as WebSearchName_CDM_EM2PESI, bm_t.WebSearchName as WebSearchName_EM2PESI,
-		cdm_t.WebShowName as WebShowName_CDM_EM2PESI, bm_t.WebShowName as WebShowName_EM2PESI,
-		cdm_t.FullName as FullName_CDM_EM2PESI, bm_t.FullName as FullName_EM2PESI,
-		cdm_t.NomRefString as NomRefString_CDM_EM2PESI, bm_t.NomRefString as NomRefString_EM2PESI,
-		cdm_t.DisplayName as DisplayName_CDM_EM2PESI, bm_t.DisplayName as DisplayName_EM2PESI,
-		cdm_t.GUID as GUID_CDM, bm_t.GUID as GUID_SQL
-	FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-	CDM_EM2PESI.[DBO].TAXON cdm_t
-	ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-	WHERE ISNULL(bm_t.WebSearchName, '') <> ISNULL(cdm_t.WebSearchName, '') OR
-		ISNULL(bm_t.WebShowName, '') <> ISNULL(cdm_t.WebShowName, '') OR
-		ISNULL(bm_t.DisplayName, '') <> ISNULL(cdm_t.DisplayName, '')
-	*/
-
--- Full Name
-	SELECT @n = COUNT(*)
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		CDM_EM2PESI.[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE ISNULL(bm_t.FullName, '') <> ISNULL(cdm_t.FullName, '')
-	SET @str_n = Cast(@n AS NVARCHAR)
-	IF @n = 0 BEGIN
-		PRINT ('All identical taxa have the same full name')
-	END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa DO NOT have the same full name')
-
-/*
-	SELECT cdm_t.FullName as FullName_CDM_EM2PESI, bm_t.FullName as FullName_EM2PESI,
-		cdm_t.WebSearchName as WebSearchName_CDM_EM2PESI, bm_t.WebSearchName as WebSearchName_EM2PESI,
-		cdm_t.WebShowName as WebShowName_CDM_EM2PESI, bm_t.WebShowName as WebShowName_EM2PESI,
-		cdm_t.FullName as FullName_CDM_EM2PESI, bm_t.FullName as FullName_EM2PESI,
-		cdm_t.NomRefString as NomRefString_CDM_EM2PESI, bm_t.NomRefString as NomRefString_EM2PESI,
-		cdm_t.DisplayName as DisplayName_CDM_EM2PESI, bm_t.DisplayName as DisplayName_EM2PESI,
-		cdm_t.GUID as GUID_CDM, bm_t.GUID as GUID_SQL
-	FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		CDM_EM2PESI.[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-	WHERE ISNULL(bm_t.FullName, '') <> ISNULL(cdm_t.FullName, '')
-	ORDER BY cdm_t.FullName
-	*/
-
--- Nom Ref
-
-	SELECT @n = COUNT(*)
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		CDM_EM2PESI.[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE ISNULL(bm_t.NomRefString, '') <> ISNULL(cdm_t.NomRefString, '')
-	SET @str_n = Cast(@n AS NVARCHAR)
-	IF @n = 0 BEGIN
-		PRINT ('All identical taxa have the same nomenclatural reference')
-	END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa DO NOT have the same nomenclatural reference')
-	/*
-	SELECT cdm_t.FullName as FullName_CDM_EM2PESI, bm_t.FullName as FullName_EM2PESI,
-		cdm_t.NomRefString as NomRefString_CDM_EM2PESI, bm_t.NomRefString as NomRefString_EM2PESI,
-		cdm_t.DisplayName as DisplayName_CDM_EM2PESI, bm_t.DisplayName as DisplayName_EM2PESI,
-		cdm_t.GUID as GUID_CDM, bm_t.GUID as GUID_SQL
-	FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		CDM_EM2PESI.[DBO].TAXON cdm_t
-	ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-	WHERE ISNULL(bm_t.NomRefString, '') <> ISNULL(cdm_t.NomRefString, '')
-	ORDER BY cdm_t.NomRefString
-	*/
-
--- Ranks
-	SELECT @n = COUNT(*)
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE ISNULL(bm_t.KingdomFk, 0) <> ISNULL(cdm_t.KingdomFk, 0) OR
-		ISNULL(bm_t.RankFk, 0) <> ISNULL(cdm_t.RankFk, 0) OR
-		ISNULL(bm_t.RankCache, '') <> ISNULL(cdm_t.RankCache, '')
-	SET @str_n = Cast(@n AS NVARCHAR)
-	IF @n = 0 BEGIN
-		PRINT ('All identical taxa have the same rank (KingdomFk, RankFk, RankCache)')
-	END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa DO NOT have the same rank (KingdomFk, RankFk, RankCache)')
-	/*
-	SELECT cdm_t.Fullname, cdm_t.KingdomFk as Kingdom_CDM_EM2PESI, bm_t.KingdomFk as Kingdom_EM2PESI,
-	cdm_t.RankFk as RankFk_CDM_EM2PESI, bm_t.RankFk as RankFk_EM2PESI,
-	cdm_t.RankCache as Rank_CDM_EM2PESI, bm_t.RankCache as Rank_EM2PESI
-	FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-	[CDM_EM2PESI].[DBO].TAXON cdm_t
-	ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-	WHERE ISNULL(bm_t.KingdomFk, 0) <> ISNULL(cdm_t.KingdomFk, 0) OR
-	ISNULL(bm_t.RankFk, 0) <> ISNULL(cdm_t.RankFk, 0) OR
-	ISNULL(bm_t.RankCache, '') <> ISNULL(cdm_t.RankCache, '')
-	*/
-
--- Status
-	SELECT @n = COUNT(*)
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE ISNULL(bm_t.NameStatusCache, '') <> ISNULL(cdm_t.NameStatusCache, '') OR
-		ISNULL(bm_t.TaxonStatusCache, '') <> ISNULL(cdm_t.TaxonStatusCache, '')
-	SET @str_n = Cast(@n AS NVARCHAR)
-	IF @n = 0 BEGIN
-		PRINT ('All identical taxa have the same status (NameStatusCache, TaxonStatusCache)')
-	END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa DO NOT have the same status (NameStatusCache, TaxonStatusCache)')
-	/*
-	SELECT cdm_t.Fullname, cdm_t.NameStatusFk as NameStatusFk_CDM_EM2PESI, bm_t.NameStatusFk as NameStatusFk_EM2PESI,
-	cdm_t.NameStatusCache as NameStatus_CDM_EM2PESI, bm_t.NameStatusCache as NameStatus_EM2PESI,
-	cdm_t.TaxonStatusFk as TaxonStatusFk_CDM_EM2PESI, bm_t.TaxonStatusFk as TaxonStatusFk_EM2PESI,
-	cdm_t.TaxonStatusCache as TaxonStatus_CDM_EM2PESI, bm_t.TaxonStatusCache as TaxonStatus_EM2PESI
-	FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-	[CDM_EM2PESI].[DBO].TAXON cdm_t
-	ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-	WHERE ISNULL(bm_t.NameStatusCache, '') <> ISNULL(cdm_t.NameStatusCache, '') OR
-	ISNULL(bm_t.TaxonStatusCache, '') <> ISNULL(cdm_t.TaxonStatusCache, '')
-	*/
-
--- Parents
-	SELECT @n_bm = COUNT(*) FROM [EM2PESI].[DBO].TAXON WHERE ParentTaxonFk IS NOT NULL
-	SELECT @n_cdm = COUNT(*) FROM [CDM_EM2PESI].[DBO].TAXON WHERE ParentTaxonFk IS NOT NULL
-	SET @n = @n_bm - @n_cdm
-
-	SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-	SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-	SET @str_n = Cast(@n AS NVARCHAR)
-
-	IF @n = 0 BEGIN
-		PRINT ('Both databases have the same number of taxa which have a parent = ' + @str_n_bm)
-	END ELSE PRINT ('WARNING: Both databases DO NOT have the same number of taxa that have a parent, n_bm = ' + @str_n_bm + ' and n_cdm = '+ @str_n_cdm)
-
-		SELECT @n = COUNT(*) -- in both databases parents exist but are different
-			FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t
-			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
-			[EM2PESI].[DBO].TAXON bm_pt ON bm_t.ParentTaxonFk = bm_pt.TaxonId INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_pt ON cdm_t.ParentTaxonFk = cdm_pt.TaxonId
-			WHERE bm_pt.IdInSource <> cdm_pt.IdInSource OR ISNULL(bm_pt.GUID, '') <> ISNULL(cdm_pt.GUID, '')
-		SET @str_n = Cast(@n AS NVARCHAR)
-		IF @n = 0 BEGIN
-			PRINT ('All identical taxa that have parents have the same parent')
-		END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa have different parents')
-	/*
-		SELECT  cdm_t.FullName as Child_CDM, cdm_pt.Fullname as Parent_CDM_EM2PESI, bm_t.FullName as child_sql,  bm_pt.Fullname as Parent_EM2PESI
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
-			[EM2PESI].[DBO].TAXON bm_pt ON bm_t.ParentTaxonFk = bm_pt.TaxonId INNER JOIN
-		[	CDM_EM2PESI].[DBO].TAXON cdm_pt ON cdm_t.ParentTaxonFk = cdm_pt.TaxonId
-		WHERE bm_pt.IdInSource <> cdm_pt.IdInSource OR ISNULL(bm_pt.GUID, '') <> ISNULL(cdm_pt.GUID, '')
-	*/
-		SELECT @n_bm = COUNT(*) -- taxa with parent only in EM2PESI
-			FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t
-			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
-			[EM2PESI].[DBO].TAXON bm_pt ON bm_t.ParentTaxonFk = bm_pt.TaxonId
-			WHERE NOT EXISTS
-				(SELECT * FROM [CDM_EM2PESI].[DBO].TAXON
-				WHERE IdInSource = bm_pt.IdInSource AND ISNULL(GUID, '') = ISNULL(bm_pt.GUID, ''))
-		SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-		IF @n_bm > 0 BEGIN 
-			PRINT ('WARNING: ' + @str_n_bm + ' identical taxa have parents in EM2PESI but not in CDM_EM2PESI')
-		END ELSE PRINT ('All identical taxa that have parents in EM2PESI do have parents in CDM_EM2PESI')
-
-	/*
-		SELECT cdm_t.Fullname ChildName, bm_pt.Fullname as Parent_EM2PESI, 'in EM2PESI but not in CDM_EM2PESI'
-		FROM [EM2PESI].[DBO].TAXON bm_t 
-			INNER JOIN [EM2PESI].[DBO].TAXON bm_pt ON bm_t.ParentTaxonFk = bm_pt.TaxonId
-			INNER JOIN [CDM_EM2PESI].[DBO].TAXON cdm_t ON ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') 
-		
-		WHERE cdm_t.ParentTaxonFk  IS NULL AND NOT EXISTS 
-		(SELECT * FROM [CDM_EM2PESI].[DBO].TAXON cdm_pt
-		WHERE (cdm_pt.IdInSource = bm_pt.IdInSource OR cdm_pt.IdInSource IS NULL AND bm_pt.IdInSource IS NULL) 
-				AND ISNULL(cdm_pt.GUID, '') = ISNULL(bm_pt.GUID, '')
-				AND cdm_t.ParentTaxonFk = cdm_pt.TaxonId)
-		ORDER BY cdm_t.Fullname
-
-	*/
-		SELECT @n_cdm = COUNT(*) -- taxa with parent only in CDM_EM2PESI
-			FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t
-			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_pt ON cdm_t.ParentTaxonFk = cdm_pt.TaxonId
-			WHERE NOT EXISTS
-				(SELECT * FROM [EM2PESI].[DBO].TAXON
-				WHERE IdInSource = cdm_pt.IdInSource AND ISNULL(GUID, '') = ISNULL(cdm_pt.GUID, ''))
-		SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-		IF @n_cdm > 0 BEGIN 
-			PRINT ('WARNING: ' + @str_n_cdm + ' identical taxa have parents in CDM_EM2PESI but not in EM2PESI')
-		END ELSE PRINT('All identical taxa that have parents in CDM_EM2PESI do have parents in EM2PESI')
-		
-	/*
-		SELECT bm_t.Fullname ChildName, cdm_pt.Fullname as Parent_CDM, 'in CDM_EM2PESI but not in EM2PESI'
-		FROM [CDM_EM2PESI].[DBO].TAXON cdm_t 
-			INNER JOIN [CDM_EM2PESI].[DBO].TAXON cdm_pt ON cdm_t.ParentTaxonFk = cdm_pt.TaxonId
-			INNER JOIN [EM2PESI].[DBO].TAXON bm_t ON ISNULL(cdm_t.GUID, '') = ISNULL(bm_t.GUID, '') 
-		
-		WHERE bm_t.ParentTaxonFk  IS NULL AND NOT EXISTS 
-		(SELECT * FROM [EM2PESI].[DBO].TAXON bm_pt
-		WHERE (bm_pt.IdInSource = cdm_pt.IdInSource OR bm_pt.IdInSource IS NULL AND cdm_pt.IdInSource IS NULL) 
-				AND ISNULL(bm_pt.GUID, '') = ISNULL(cdm_pt.GUID, '')
-				AND bm_t.ParentTaxonFk = bm_pt.TaxonId)
-		ORDER BY bm_t.Fullname
-	*/
-		IF @n = 0 AND @n_cdm = 0 AND @n_bm = 0 BEGIN
-			PRINT ('All identical taxa have the same parent')
-		END
-
--- TreeIndex
-/* This is not checked. This field should be created by the PESI-Procedure recalculateallstoredpaths.
-	Actually checking the parents of the same taxa is enough to ensure the compatibility of the taxonomical tree as a whole.
-	See the Parent section
-*/
-	SELECT @n_bm = COUNT(*) FROM [EM2PESI].[DBO].TAXON WHERE TreeIndex IS NOT NULL
-	SELECT @n_cdm = COUNT(*) FROM [CDM_EM2PESI].[DBO].TAXON WHERE TreeIndex IS NOT NULL
-	SET @n = @n_bm - @n_cdm
-
-	SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-	SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-	SET @str_n = Cast(@n AS NVARCHAR)
-
-	IF @n = 0 BEGIN
-		PRINT ('Both databases have the same number of taxa which have a tree index = ' + @str_n_bm)
-	END ELSE PRINT ('WARNING: Both databases DO NOT have the same number of taxa that have a tree index, n_bm = ' + @str_n_bm + ' and n_cdm = '+ @str_n_cdm)
-
-
--- Types
-	SELECT @n_bm = COUNT(*) FROM [EM2PESI].[DBO].TAXON WHERE TypeNameFk IS NOT NULL
-	SELECT @n_cdm = COUNT(*) FROM [CDM_EM2PESI].[DBO].TAXON WHERE TypeNameFk IS NOT NULL
-	SET @n = @n_bm - @n_cdm
-
-	SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-	SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-	SET @str_n = Cast(@n AS NVARCHAR)
-
-	IF @n = 0 BEGIN
-		PRINT ('Both databases have the same number of taxa which have a type = ' + @str_n_bm)
-	END ELSE PRINT ('WARNING: Both databases DO NOT have the same number of taxa that have a type, n_bm = ' + @str_n_bm + ' and n_cdm = '+ @str_n_cdm)
-
-		SELECT @n = COUNT(*) -- in both databases types exist but are different
-			FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t
-			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
-			[EM2PESI].[DBO].TAXON bm_pt ON bm_t.TypeNameFk = bm_pt.TaxonId INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_pt ON cdm_t.TypeNameFk = cdm_pt.TaxonId
-			WHERE bm_pt.IdInSource <> cdm_pt.IdInSource OR ISNULL(bm_pt.GUID, '') <> ISNULL(cdm_pt.GUID, '')
-		SET @str_n = Cast(@n AS NVARCHAR)
-		IF @n = 0 BEGIN
-			PRINT ('All identical taxa that have types have the same type')
-		END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa have different types')
-	/*
-		SELECT cdm_t.Fullname, cdm_pt.Fullname as Type_CDM_EM2PESI, bm_pt.Fullname as Type_EM2PESI
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
-		[EM2PESI].[DBO].TAXON bm_pt ON bm_t.TypeNameFk = bm_pt.TaxonId INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_pt ON cdm_t.TypeNameFk = cdm_pt.TaxonId
-		WHERE bm_pt.IdInSource <> cdm_pt.IdInSource OR ISNULL(bm_pt.GUID, '') <> ISNULL(cdm_pt.GUID, '')
-		ORDER BY cdm_t.Fullname
-	*/
-		SELECT @n_bm = COUNT(*) -- taxa with type only in EM2PESI
-			FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t
-			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
-			[EM2PESI].[DBO].TAXON bm_pt ON bm_t.TypeNameFk = bm_pt.TaxonId
-			WHERE NOT EXISTS
-				(SELECT * FROM [CDM_EM2PESI].[DBO].TAXON
-				WHERE IdInSource = bm_pt.IdInSource AND ISNULL(GUID, '') = ISNULL(bm_pt.GUID, ''))
-		SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-		IF @n_bm > 0 PRINT ('WARNING: ' + @str_n_bm + ' identical taxa have types in EM2PESI but not in CDM_EM2PESI')
-	/*
-		SELECT cdm_t.Fullname, bm_pt.Fullname as Type_EM2PESI, 'in EM2PESI but not in CDM_EM2PESI'
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
-		[EM2PESI].[DBO].TAXON bm_pt ON bm_t.TypeNameFk = bm_pt.TaxonId
-		WHERE NOT EXISTS
-		(SELECT * FROM [CDM_EM2PESI].[DBO].TAXON
-		WHERE IdInSource = bm_pt.IdInSource AND ISNULL(GUID, '') = ISNULL(bm_pt.GUID, ''))
-		ORDER BY cdm_t.Fullname
-	*/
-		SELECT @n_cdm = COUNT(*) -- taxa with type only in CDM_EM2PESI
-			FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t
-			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_pt ON cdm_t.TypeNameFk = cdm_pt.TaxonId
-			WHERE NOT EXISTS
-				(SELECT * FROM [EM2PESI].[DBO].TAXON
-				WHERE IdInSource = cdm_pt.IdInSource AND ISNULL(GUID, '') = ISNULL(cdm_pt.GUID, ''))
-		SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-		IF @n_cdm > 0 PRINT ('WARNING: ' + @str_n_cdm + ' identical taxa have types in CDM_EM2PESI but not in EM2PESI')
-	/*
-		SELECT cdm_t.Fullname, cdm_pt.Fullname as Type_CDM_EM2PESI, 'in CDM_EM2PESI but not in EM2PESI'
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_pt ON cdm_t.TypeNameFk = cdm_pt.TaxonId
-		WHERE NOT EXISTS
-		(SELECT * FROM [EM2PESI].[DBO].TAXON
-		WHERE IdInSource = cdm_pt.IdInSource AND ISNULL(GUID, '') = ISNULL(cdm_pt.GUID, ''))
-	*/
-		IF @n = 0 AND @n_cdm = 0 AND @n_bm = 0 BEGIN
-			PRINT ('All identical taxa have the same type')
-		END
-
--- QualityStatus
-	SELECT @n = COUNT(*)
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE ISNULL(bm_t.QualityStatusCache, '') <> ISNULL(cdm_t.QualityStatusCache, '')
-	SET @str_n = Cast(@n AS NVARCHAR)
-	IF @n = 0 BEGIN
-		PRINT ('All identical taxa have the same quality status (QualityStatusCache)')
-	END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa DO NOT have the same quality status (QualityStatusCache)')
-	/*
-	SELECT cdm_t.Fullname, cdm_t.QualityStatusCache as QualityStatus_CDM_EM2PESI, bm_t.QualityStatusCache as QualityStatus_EM2PESI
-	FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-	[CDM_EM2PESI].[DBO].TAXON cdm_t
-	ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-	WHERE ISNULL(bm_t.QualityStatusCache, '') <> ISNULL(cdm_t.QualityStatusCache, '')
-	*/
-
--- Experts
-	SELECT @n = COUNT(*)
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE ISNULL(bm_t.ExpertName, '') <> ISNULL(cdm_t.ExpertName, '') OR
-		ISNULL(bm_t.SpeciesExpertName, '') <> ISNULL(cdm_t.SpeciesExpertName, '')
-	SET @str_n = Cast(@n AS NVARCHAR)
-	IF @n = 0 BEGIN
-		PRINT ('All identical taxa have the same experts (ExpertName, SpeciesExpertName)')
-	END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa DO NOT have the same experts (ExpertName, SpeciesExpertName)')
-	/*
-	SELECT cdm_t.Fullname, cdm_t.ExpertName as ExpertName_CDM_EM2PESI, bm_t.ExpertName as ExpertName_EM2PESI,
-	cdm_t.SpeciesExpertName as SpeciesExpertName_CDM_EM2PESI, bm_t.SpeciesExpertName as SpeciesExpertName_EM2PESI
-	FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-	[CDM_EM2PESI].[DBO].TAXON cdm_t
-	ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-	WHERE ISNULL(bm_t.ExpertName, '') <> ISNULL(cdm_t.ExpertName, '') OR
-	ISNULL(bm_t.SpeciesExpertName, '') <> ISNULL(cdm_t.SpeciesExpertName, '')
-	*/
-
--- Citation
-	SELECT @n = COUNT(*)
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE ISNULL(bm_t.CacheCitation, '') <> ISNULL(cdm_t.CacheCitation, '')
-	SET @str_n = Cast(@n AS NVARCHAR)
-	IF @n = 0 BEGIN
-		PRINT ('All identical taxa have the same CacheCitation')
-	END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa DO NOT have the same CacheCitation')
-	/*
-	SELECT cdm_t.Fullname, cdm_t.CacheCitation as CacheCitation_CDM_EM2PESI, bm_t.CacheCitation as CacheCitation_EM2PESI
-	FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-	[CDM_EM2PESI].[DBO].TAXON cdm_t
-	ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-	WHERE ISNULL(bm_t.CacheCitation, '') <> ISNULL(cdm_t.CacheCitation, '')
-	*/
-
--- Original database
-	SELECT @n = COUNT(*)
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE ISNULL(bm_t.OriginalDB, '') <> ISNULL(cdm_t.OriginalDB, '')
-	SET @str_n = Cast(@n AS NVARCHAR)
-	IF @n = 0 BEGIN
-		PRINT ('All identical taxa have the same OriginalDB')
-	END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa DO NOT have the same OriginalDB')
-	/*
-	SELECT cdm_t.Fullname, cdm_t.OriginalDB as OriginalDB_CDM_EM2PESI, bm_t.OriginalDB as OriginalDB_EM2PESI
-	FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-	[CDM_EM2PESI].[DBO].TAXON cdm_t
-	ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-	WHERE ISNULL(bm_t.OriginalDB, '') <> ISNULL(cdm_t.OriginalDB, '')
-	*/
-
--- Action
-	SELECT @n = COUNT(*)
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE ISNULL(bm_t.LastAction, '') <> ISNULL(cdm_t.LastAction, '') OR
-		convert(smalldatetime, ISNULL(bm_t.LastActionDate, '00:00:00'))  <>
-		convert(smalldatetime, ISNULL(cdm_t.LastActionDate, '00:00:00'))
-	SET @str_n = Cast(@n AS NVARCHAR)
-	IF @n = 0 BEGIN
-		PRINT ('All identical taxa have the same last actions (LastAction, LastActionDate)')
-	END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa DO NOT have the last actions (LastAction, LastActionDate)')
-	/*
-	SELECT cdm_t.Fullname, cdm_t.LastAction as LastAction_CDM_EM2PESI, bm_t.LastAction as LastAction_EM2PESI,
-	cdm_t.LastActionDate as LastActionDate_CDM_EM2PESI, bm_t.LastActionDate as LastActionDate_EM2PESI
-	FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-	[CDM_EM2PESI].[DBO].TAXON cdm_t
-	ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-	WHERE ISNULL(bm_t.LastAction, '') <> ISNULL(cdm_t.LastAction, '') OR
-	convert(smalldatetime, ISNULL(bm_t.LastActionDate, '00:00:00')) <>
-	convert(smalldatetime, ISNULL(cdm_t.LastActionDate, '00:00:00'))
-	*/
-
-------------------------------------------- RelTaxon -------------------------------
-	PRINT ' '
-	PRINT 'RELATIONSHIP'
-	
--- taxonomical relationships between taxa and nomenclatural relationships between names
-	SELECT @n_bm = COUNT(*) FROM [EM2PESI].[DBO].RELTAXON
-	SELECT @n_cdm = COUNT(*) FROM [CDM_EM2PESI].[DBO].RELTAXON
-	SET @n = @n_bm - @n_cdm
-
-	SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-	SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-	SET @str_n = Cast(@n AS NVARCHAR)
-
-	IF @n = 0 BEGIN
-		PRINT ('Both databases have the same number of relationship records = ' + @str_n_bm)
-	END ELSE PRINT ('WARNING: Both databases DO NOT have the same number of relationship records, n_bm = ' + @str_n_bm + ' and n_cdm = '+ @str_n_cdm)
-
-		SELECT @n_bm = COUNT(*) -- relationships only in EM2PESI
-			FROM [EM2PESI].[DBO].RELTAXON bm_rt INNER JOIN
-			[EM2PESI].[DBO].TAXON bm_t1 ON bm_rt.TaxonFk1 = bm_t1.TaxonId INNER JOIN
-			[EM2PESI].[DBO].TAXON bm_t2 ON bm_rt.TaxonFk2 = bm_t2.TaxonId INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t1
-			ON bm_t1.IdInSource = cdm_t1.IdInSource AND ISNULL(bm_t1.GUID, '') = ISNULL(cdm_t1.GUID, '') INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t2
-			ON bm_t2.IdInSource = cdm_t2.IdInSource AND ISNULL(bm_t2.GUID, '') = ISNULL(cdm_t2.GUID, '')
-			WHERE NOT EXISTS
-			(SELECT * FROM [CDM_EM2PESI].[DBO].RELTAXON
-			WHERE TaxonFk1 = cdm_t1.TaxonId AND TaxonFk2 = cdm_t2.TaxonId AND RelQualifierCache = bm_rt.RelQualifierCache)
-		SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-		IF @n_bm = 0 BEGIN
-			PRINT ('All relationships in EM2PESI exist also in CDM_EM2PESI')
-		END ELSE PRINT ('WARNING: ' + @str_n_bm + ' existing relationships for identical taxa in EM2PESI DO NOT exist in CDM_EM2PESI')
-	/*
-		SELECT bm_t1.Fullname, bm_rt.RelQualifierCache, bm_t2.Fullname, 'in EM2PESI but not in CDM_EM2PESI'
-		FROM [EM2PESI].[DBO].RELTAXON bm_rt INNER JOIN
-		[EM2PESI].[DBO].TAXON bm_t1 ON bm_rt.TaxonFk1 = bm_t1.TaxonId INNER JOIN
-		[EM2PESI].[DBO].TAXON bm_t2 ON bm_rt.TaxonFk2 = bm_t2.TaxonId INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t1
-		ON bm_t1.IdInSource = cdm_t1.IdInSource AND ISNULL(bm_t1.GUID, '') = ISNULL(cdm_t1.GUID, '') INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t2
-		ON bm_t2.IdInSource = cdm_t2.IdInSource AND ISNULL(bm_t2.GUID, '') = ISNULL(cdm_t2.GUID, '')
-		WHERE NOT EXISTS
-		(SELECT * FROM [CDM_EM2PESI].[DBO].RELTAXON
-		WHERE TaxonFk1 = cdm_t1.TaxonId AND TaxonFk2 = cdm_t2.TaxonId AND RelQualifierCache = bm_rt.RelQualifierCache)
-
-		SELECT [RelTaxonQualifierFk]
-		,[RelQualifierCache]
-		, COUNT(*) as n
-		FROM [CDM_EM2PESI].[dbo].[RelTaxon] rel INNER JOIN [CDM_EM2PESI].[dbo].[Taxon] t1 ON t1.TaxonId = rel.TaxonFk1
-		INNER JOIN [CDM_EM2PESI].[dbo].[Taxon] t2 ON t2.TaxonId = rel.TaxonFk2
-		GROUP BY RelTaxonQualifierFk, RelQualifierCache
-		ORDER BY RelTaxonQualifierFk, COUNT(*) DESC
-
-		SELECT [RelTaxonQualifierFk]
-		,[RelQualifierCache]
-		, COUNT(*) as n
-		FROM [EM2PESI].[dbo].[RelTaxon]
-		GROUP BY RelTaxonQualifierFk, RelQualifierCache
-		ORDER BY RelTaxonQualifierFk, COUNT(*) DESC
-		
-		SELECT t1.QualifierId, t1.Qualifier, t1.n as n_cdm, t2.n as n_bm,  t1.n - t2.n as diff
-		FROM (
-
-			SELECT rtq.QualifierId , rtq.Qualifier,  COUNT(rel.RelTaxonId) as n
-			FROM RelTaxonQualifier rtq LEFT OUTER JOIN [CDM_EM2PESI].[dbo].[RelTaxon] rel ON rel.RelTaxonQualifierFk = rtq.QualifierId 
-				LEFT OUTER JOIN [CDM_EM2PESI].[dbo].[Taxon] t1 ON t1.TaxonId = rel.TaxonFk1 
-				LEFT OUTER JOIN [CDM_EM2PESI].[dbo].[Taxon] t2 ON t2.TaxonId = rel.TaxonFk2
-			GROUP BY QualifierId, Qualifier
-		) t1 INNER JOIN  (
-			SELECT rtq2.QualifierId , rtq2.Qualifier, COUNT(rel.RelTaxonId) as n
-			FROM RelTaxonQualifier rtq2 LEFT OUTER JOIN [EM2PESI].[dbo].[RelTaxon] rel ON rel.RelTaxonQualifierFk = rtq2.QualifierId 
-				LEFT OUTER JOIN [EM2PESI].[dbo].[Taxon] t1 ON t1.TaxonId = rel.TaxonFk1 
-				LEFT OUTER JOIN [EM2PESI].[dbo].[Taxon] t2 ON t2.TaxonId = rel.TaxonFk2
-				GROUP BY QualifierId, Qualifier
-		) t2  ON t1.QualifierId  = t2.QualifierId AND t1.n <> t2.n
-		ORDER BY t1.QualifierId DESC
-
-	*/
-		SELECT @n_cdm = COUNT(*) -- relationships only in CDM_EM2PESI
-			FROM [CDM_EM2PESI].[DBO].RELTAXON cdm_rt INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t1 ON cdm_rt.TaxonFk1 = cdm_t1.TaxonId INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t2 ON cdm_rt.TaxonFk2 = cdm_t2.TaxonId INNER JOIN
-			[EM2PESI].[DBO].TAXON bm_t1
-			ON bm_t1.IdInSource = cdm_t1.IdInSource AND ISNULL(bm_t1.GUID, '') = ISNULL(cdm_t1.GUID, '') INNER JOIN
-			[EM2PESI].[DBO].TAXON bm_t2
-			ON bm_t2.IdInSource = cdm_t2.IdInSource AND ISNULL(bm_t2.GUID, '') = ISNULL(cdm_t2.GUID, '')
-			WHERE NOT EXISTS
-			(SELECT * FROM [EM2PESI].[DBO].RELTAXON
-			WHERE TaxonFk1 = bm_t1.TaxonId AND TaxonFk2 = bm_t2.TaxonId AND RelQualifierCache = cdm_rt.RelQualifierCache)
-		SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-		IF @n_cdm = 0 BEGIN
-			PRINT ('All relationships in CDM_EM2PESI exist also in EM2PESI')
-		END ELSE PRINT ('WARNING: ' + @str_n_cdm + ' existing relationships for identical taxa in CDM_EM2PESI DO NOT exist in EM2PESI')
-	/*
-		SELECT cdm_t1.Fullname, cdm_rt.RelQualifierCache, cdm_t2.Fullname, 'in CDM_EM2PESI but not in CDM_EM2PESI'
-		FROM [CDM_EM2PESI].[DBO].RELTAXON cdm_rt INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t1 ON cdm_rt.TaxonFk1 = cdm_t1.TaxonId INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t2 ON cdm_rt.TaxonFk2 = cdm_t2.TaxonId INNER JOIN
-		[EM2PESI].[DBO].TAXON bm_t1
-		ON bm_t1.IdInSource = cdm_t1.IdInSource AND ISNULL(bm_t1.GUID, '') = ISNULL(cdm_t1.GUID, '') INNER JOIN
-		[EM2PESI].[DBO].TAXON bm_t2
-		ON bm_t2.IdInSource = cdm_t2.IdInSource AND ISNULL(bm_t2.GUID, '') = ISNULL(cdm_t2.GUID, '')
-		WHERE NOT EXISTS
-		(SELECT * FROM [EM2PESI].[DBO].RELTAXON
-		WHERE TaxonFk1 = bm_t1.TaxonId AND TaxonFk2 = bm_t2.TaxonId AND RelQualifierCache = cdm_rt.RelQualifierCache)
-	*/
-		IF @n_cdm = 0 AND @n_bm = 0 BEGIN
-			PRINT ('All relationships are identical in both databases')
-		END
-
-
-------------------------------------------- CommonName -------------------------------
-	PRINT ' '
-	PRINT 'COMMON NAMES'
-
-	SELECT @n_bm = COUNT(*) FROM [EM2PESI].[DBO].CommonName
-	SELECT @n_cdm = COUNT(*) FROM [CDM_EM2PESI].[DBO].CommonName
-	SET @n = @n_bm - @n_cdm
-
-	SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-	SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-	SET @str_n = Cast(@n AS NVARCHAR)
-
-	IF @n = 0 BEGIN
-		PRINT ('Both databases have the same number of common names = ' + @str_n_bm)
-	END ELSE PRINT ('WARNING: Both databases DO NOT have the same number of common names, n_bm = ' + @str_n_bm + ' and n_cdm = '+ @str_n_cdm)
-
-		SELECT @n_bm = COUNT(*) -- common names only in EM2PESI
-			FROM [EM2PESI].[DBO].CommonName bm_cn INNER JOIN
-			[EM2PESI].[DBO].TAXON bm_t ON bm_cn.TaxonFk = bm_t.TaxonId INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t
-			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-			WHERE NOT EXISTS
-			(SELECT * FROM [CDM_EM2PESI].[DBO].CommonName
-			WHERE TaxonFk = cdm_t.TaxonId AND ISNULL(CommonName,'') = ISNULL(bm_cn.CommonName,'')
-			AND ISNULL(LanguageCache,'') = ISNULL(bm_cn.LanguageCache,'')
-			AND ISNULL(SourceNameCache,'') = ISNULL(bm_cn.SourceNameCache,'')
-			AND ISNULL(SpeciesExpertName,'') = ISNULL(bm_cn.SpeciesExpertName,'')
-			AND ISNULL(LastAction,'') = ISNULL(bm_cn.LastAction,'')
-			AND ISNULL(LastActionDate,'00:00:00') = ISNULL(bm_cn.LastActionDate,'00:00:00')
-			)
-		SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-		IF @n_bm = 0 BEGIN
-			PRINT ('All common names in EM2PESI exist also in CDM_EM2PESI')
-		END ELSE PRINT ('WARNING: ' + @str_n_bm + ' existing common names for identical taxa in EM2PESI DO NOT exist in CDM_EM2PESI')
-	/*
-		SELECT bm_t.Fullname, bm_cn.CommonName, bm_cn.LanguageCache,
-		bm_cn.SourceNameCache, bm_cn.SpeciesExpertName, bm_cn.LastAction,
-		bm_cn.LastActionDate, 'in EM2PESI but not in CDM_EM2PESI'
-		FROM [EM2PESI].[DBO].CommonName bm_cn INNER JOIN
-		[EM2PESI].[DBO].TAXON bm_t ON bm_cn.TaxonFk = bm_t.TaxonId INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE NOT EXISTS
-		(SELECT * FROM [CDM_EM2PESI].[DBO].CommonName
-		WHERE TaxonFk = cdm_t.TaxonId AND ISNULL(CommonName,'') = ISNULL(bm_cn.CommonName,'')
-		AND ISNULL(LanguageCache,'') = ISNULL(bm_cn.LanguageCache,'')
-		AND ISNULL(SourceNameCache,'') = ISNULL(bm_cn.SourceNameCache,'')
-		AND ISNULL(SpeciesExpertName,'') = ISNULL(bm_cn.SpeciesExpertName,'')
-		AND ISNULL(LastAction,'') = ISNULL(bm_cn.LastAction,'')
-		AND ISNULL(LastActionDate,'00:00:00') = ISNULL(bm_cn.LastActionDate,'00:00:00')
-		)
-	*/
-		SELECT @n_cdm = COUNT(*) -- common names only in CDM_EM2PESI
-			FROM [CDM_EM2PESI].[DBO].CommonName cdm_cn INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t ON cdm_cn.TaxonFk = cdm_t.TaxonId INNER JOIN
-			[EM2PESI].[DBO].TAXON bm_t
-			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-			WHERE NOT EXISTS
-			(SELECT * FROM [EM2PESI].[DBO].CommonName
-			WHERE TaxonFk = bm_t.TaxonId AND ISNULL(CommonName,'') = ISNULL(cdm_cn.CommonName,'')
-			AND ISNULL(LanguageCache,'') = ISNULL(cdm_cn.LanguageCache,'')
-			AND ISNULL(SourceNameCache,'') = ISNULL(cdm_cn.SourceNameCache,'')
-			AND ISNULL(SpeciesExpertName,'') = ISNULL(cdm_cn.SpeciesExpertName,'')
-			AND ISNULL(LastAction,'') = ISNULL(cdm_cn.LastAction,'')
-			AND ISNULL(LastActionDate,'00:00:00') = ISNULL(cdm_cn.LastActionDate,'00:00:00')
-			)
-		SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-		IF @n_cdm = 0 BEGIN
-			PRINT ('All common names in CDM_EM2PESI exist also in EM2PESI')
-		END ELSE PRINT ('WARNING: ' + @str_n_cdm + ' existing common names for identical taxa in CDM_EM2PESI DO NOT exist in EM2PESI')
-	/*
-		SELECT bm_t.Fullname, cdm_cn.CommonName, cdm_cn.LanguageCache,
-		cdm_cn.SourceNameCache, cdm_cn.SpeciesExpertName, cdm_cn.LastAction,
-		cdm_cn.LastActionDate, 'in CDM_EM2PESI but not in EM2PESI'
-		FROM [CDM_EM2PESI].[DBO].CommonName cdm_cn INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t ON cdm_cn.TaxonFk = cdm_t.TaxonId INNER JOIN
-		[EM2PESI].[DBO].TAXON bm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE NOT EXISTS
-		(SELECT * FROM [EM2PESI].[DBO].CommonName
-		WHERE TaxonFk = bm_t.TaxonId AND ISNULL(CommonName,'') = ISNULL(cdm_cn.CommonName,'')
-		AND ISNULL(LanguageCache,'') = ISNULL(cdm_cn.LanguageCache,'')
-		AND ISNULL(SourceNameCache,'') = ISNULL(cdm_cn.SourceNameCache,'')
-		AND ISNULL(SpeciesExpertName,'') = ISNULL(cdm_cn.SpeciesExpertName,'')
-		AND ISNULL(LastAction,'') = ISNULL(cdm_cn.LastAction,'')
-		AND ISNULL(LastActionDate,'00:00:00') = ISNULL(cdm_cn.LastActionDate,'00:00:00')
-		)
-	*/
-		IF @n_cdm = 0 AND @n_bm = 0 BEGIN
-			PRINT ('All common names are identical in both databases')
-		END
-
-------------------------------------------- AdditionalTaxonSource -------------------------------
-	PRINT ' '
-	PRINT 'AdditionalTaxonSource'
-	
-	SELECT @n_bm = COUNT(*) FROM [EM2PESI].[DBO].AdditionalTaxonSource
-	SELECT @n_cdm = COUNT(*) FROM [CDM_EM2PESI].[DBO].AdditionalTaxonSource
-	SET @n = @n_bm - @n_cdm
-
-	SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-	SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-	SET @str_n = Cast(@n AS NVARCHAR)
-
-	IF @n = 0 BEGIN
-		PRINT ('Both databases have the same number of additional sources = ' + @str_n_bm)
-	END ELSE PRINT ('WARNING: Both databases DO NOT have the same number of additional sources, n_bm = ' + @str_n_bm + ' and n_cdm = '+ @str_n_cdm)
-
-		SELECT @n_bm = COUNT(*) -- additional sources only in EM2PESI
-			FROM [EM2PESI].[DBO].AdditionalTaxonSource bm_ats INNER JOIN
-			[EM2PESI].[DBO].TAXON bm_t ON bm_ats.TaxonFk = bm_t.TaxonId INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t
-			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-			WHERE NOT EXISTS
-			(SELECT * FROM [CDM_EM2PESI].[DBO].AdditionalTaxonSource
-			WHERE TaxonFk = cdm_t.TaxonId AND ISNULL(SourceUseCache,'') = ISNULL(bm_ats.SourceUseCache,'')
-			AND ISNULL(SourceNameCache,'') = ISNULL(bm_ats.SourceNameCache,'')
-			AND ISNULL(SourceDetail,'') = ISNULL(bm_ats.SourceDetail,'')
-			)
-		SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-		IF @n_bm = 0 BEGIN
-			PRINT ('All additional sources in EM2PESI exist also in CDM_EM2PESI')
-		END ELSE PRINT ('WARNING: ' + @str_n_bm + ' existing additional sources for identical taxa in EM2PESI DO NOT exist in CDM_EM2PESI')
-	/*
-		SELECT bm_t.Fullname, bm_ats.SourceUseCache, bm_ats.SourceNameCache,
-		bm_ats.SourceDetail, 'in EM2PESI but not in CDM_EM2PESI'
-		FROM [EM2PESI].[DBO].AdditionalTaxonSource bm_ats INNER JOIN
-		[EM2PESI].[DBO].TAXON bm_t ON bm_ats.TaxonFk = bm_t.TaxonId INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE NOT EXISTS
-		(SELECT * FROM [CDM_EM2PESI].[DBO].AdditionalTaxonSource
-		WHERE TaxonFk = cdm_t.TaxonId AND ISNULL(SourceUseCache,'') = ISNULL(bm_ats.SourceUseCache,'')
-		AND ISNULL(SourceNameCache,'') = ISNULL(bm_ats.SourceNameCache,'')
-		AND ISNULL(SourceDetail,'') = ISNULL(bm_ats.SourceDetail,'')
-		)
-	*/
-		SELECT @n_cdm = COUNT(*) -- additional sources only in CDM_EM2PESI
-			FROM [CDM_EM2PESI].[DBO].AdditionalTaxonSource cdm_ats INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t ON cdm_ats.TaxonFk = cdm_t.TaxonId INNER JOIN
-			[EM2PESI].[DBO].TAXON bm_t
-			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-			WHERE NOT EXISTS
-			(SELECT * FROM [EM2PESI].[DBO].AdditionalTaxonSource
-			WHERE TaxonFk = cdm_t.TaxonId AND ISNULL(SourceUseCache,'') = ISNULL(cdm_ats.SourceUseCache,'')
-			AND ISNULL(SourceNameCache,'') = ISNULL(cdm_ats.SourceNameCache,'')
-			AND ISNULL(SourceDetail,'') = ISNULL(cdm_ats.SourceDetail,'')
-			)
-		SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-		IF @n_cdm = 0 BEGIN
-			PRINT ('All additional sources in CDM_EM2PESI exist also in EM2PESI')
-		END ELSE PRINT ('WARNING: ' + @str_n_cdm + ' existing additional sources for identical taxa in CDM_EM2PESI DO NOT exist in EM2PESI')
-	/*
-		SELECT bm_t.Fullname, cdm_ats.SourceUseCache, cdm_ats.SourceNameCache,
-		cdm_ats.SourceDetail, 'in EM2PESI but not in CDM_EM2PESI'
-		FROM [CDM_EM2PESI].[DBO].AdditionalTaxonSource cdm_ats INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t ON cdm_ats.TaxonFk = cdm_t.TaxonId INNER JOIN
-		[EM2PESI].[DBO].TAXON bm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE NOT EXISTS
-		(SELECT * FROM [EM2PESI].[DBO].AdditionalTaxonSource
-		WHERE TaxonFk = cdm_t.TaxonId AND ISNULL(SourceUseCache,'') = ISNULL(cdm_ats.SourceUseCache,'')
-		AND ISNULL(SourceNameCache,'') = ISNULL(cdm_ats.SourceNameCache,'')
-		AND ISNULL(SourceDetail,'') = ISNULL(cdm_ats.SourceDetail,'')
-		)
-	*/
-		IF @n_cdm = 0 AND @n_bm = 0 BEGIN
-			PRINT ('All additional sources are identical in both databases')
-		END
-
------------------------------- Image (currently exist only in ERMS) -------------------------------
-	PRINT ' '
-	PRINT 'IMAGES'
-	
-	SELECT @n_bm = COUNT(*) FROM [EM2PESI].[DBO].Image
-	SELECT @n_cdm = COUNT(*) FROM [CDM_EM2PESI].[DBO].Image
-	SET @n = @n_bm - @n_cdm
-
-	SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-	SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-	SET @str_n = Cast(@n AS NVARCHAR)
-
-	IF @n = 0 BEGIN
-		PRINT ('Both databases have the same number of images = ' + @str_n_bm)
-	END ELSE PRINT ('WARNING: Both databases DO NOT have the same number of images, n_bm = ' + @str_n_bm + ' and n_cdm = '+ @str_n_cdm)
-
-		SELECT @n_bm = COUNT(*) -- images only in EM2PESI
-			FROM [EM2PESI].[DBO].Image bm_i INNER JOIN
-			[EM2PESI].[DBO].TAXON bm_t ON bm_i.TaxonFk = bm_t.TaxonId INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t
-			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-			WHERE NOT EXISTS
-			(SELECT * FROM [CDM_EM2PESI].[DBO].Image
-			WHERE TaxonFk = cdm_t.TaxonId AND ISNULL(img_thumb,'') = ISNULL(bm_i.img_thumb,'')
-			AND ISNULL(img_url,'') = ISNULL(bm_i.img_url,'')
-			)
-		SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-		IF @n_bm = 0 BEGIN
-			PRINT ('All images in EM2PESI exist also in CDM_EM2PESI')
-		END ELSE PRINT ('WARNING: ' + @str_n_bm + ' existing images for identical taxa in EM2PESI DO NOT exist in CDM_EM2PESI')
-	/*
-		SELECT bm_t.Fullname, bm_i.img_thumb, bm_i.img_url, 'in EM2PESI but not in CDM_EM2PESI'
-		FROM [EM2PESI].[DBO].Image bm_i INNER JOIN
-		[EM2PESI].[DBO].TAXON bm_t ON bm_i.TaxonFk = bm_t.TaxonId INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE NOT EXISTS
-		(SELECT * FROM [CDM_EM2PESI].[DBO].Image
-		WHERE TaxonFk = cdm_t.TaxonId AND ISNULL(img_thumb,'') = ISNULL(bm_i.img_thumb,'')
-		AND ISNULL(img_url,'') = ISNULL(bm_i.img_url,'')
-		)
-	*/
-		SELECT @n_cdm = COUNT(*) -- images only in CDM_EM2PESI
-			FROM [CDM_EM2PESI].[DBO].Image cdm_i INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t ON cdm_i.TaxonFk = cdm_t.TaxonId INNER JOIN
-			[EM2PESI].[DBO].TAXON bm_t
-			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-			WHERE NOT EXISTS
-			(SELECT * FROM [EM2PESI].[DBO].Image
-			WHERE TaxonFk = bm_t.TaxonId AND ISNULL(img_thumb,'') = ISNULL(cdm_i.img_thumb,'')
-			AND ISNULL(img_url,'') = ISNULL(cdm_i.img_url,'')
-			)
-		SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-		IF @n_cdm = 0 BEGIN
-			PRINT ('All images in CDM_EM2PESI exist also in EM2PESI')
-		END ELSE PRINT ('WARNING: ' + @str_n_cdm + ' existing images for identical taxa in CDM_EM2PESI DO NOT exist in EM2PESI')
-	/*
-		SELECT bm_t.Fullname, cdm_i.img_thumb, cdm_i.img_url, 'in CDM_EM2PESI but not in EM2PESI'
-		FROM [CDM_EM2PESI].[DBO].Image cdm_i INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t ON cdm_i.TaxonFk = cdm_t.TaxonId INNER JOIN
-		[EM2PESI].[DBO].TAXON bm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE NOT EXISTS
-		(SELECT * FROM [EM2PESI].[DBO].Image
-		WHERE TaxonFk = bm_t.TaxonId AND ISNULL(img_thumb,'') = ISNULL(cdm_i.img_thumb,'')
-		AND ISNULL(img_url,'') = ISNULL(cdm_i.img_url,'')
-		)
-	*/
-		IF @n_cdm = 0 AND @n_bm = 0 BEGIN
-			PRINT ('All images are identical in both databases')
-		END
-
-------------------------------------------- Note -------------------------------
-	PRINT ' '
-	PRINT 'NOTES'
-
-	SELECT @n_bm = COUNT(*) FROM [EM2PESI].[DBO].Note LEFT OUTER JOIN
-		[EM2PESI].[DBO].NoteSource ON NoteFk = NoteId
-	SELECT @n_cdm = COUNT(*) FROM [CDM_EM2PESI].[DBO].Note LEFT OUTER JOIN
-		[CDM_EM2PESI].[DBO].NoteSource ON NoteFk = NoteId
-	SET @n = @n_bm - @n_cdm
-
-	SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-	SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-	SET @str_n = Cast(@n AS NVARCHAR)
-
-	IF @n = 0 BEGIN
-		PRINT ('Both databases have the same number of note * notesource results = ' + @str_n_bm)
-	END ELSE PRINT ('WARNING: Both databases DO NOT have the same number of note * notesource results, n_bm = ' + @str_n_bm + ' and n_cdm = '+ @str_n_cdm)
-
-		SELECT @n_bm = COUNT(*) -- note * notesource results only in EM2PESI
-			FROM [EM2PESI].[DBO].Note bm_n INNER JOIN
-			[EM2PESI].[DBO].TAXON bm_t ON bm_n.TaxonFk = bm_t.TaxonId LEFT OUTER JOIN
-			[EM2PESI].[DBO].NoteSource bm_ns ON bm_ns.NoteFk = bm_n.NoteId INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t
-			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-			WHERE NOT EXISTS
-			(SELECT * FROM [CDM_EM2PESI].[DBO].Note LEFT OUTER JOIN [CDM_EM2PESI].[DBO].NoteSource
-			ON [CDM_EM2PESI].[DBO].Note.NoteId = [CDM_EM2PESI].[DBO].NoteSource.NoteFk
-			WHERE TaxonFk = cdm_t.TaxonId AND ISNULL(Note_1,'') = ISNULL(bm_n.Note_1,'')
-			AND ISNULL(Note_2,'') = ISNULL(bm_n.Note_2,'')
-			AND ISNULL(NoteCategoryCache,'') = ISNULL(bm_n.NoteCategoryCache,'')
-			AND ISNULL(LanguageCache,'') = ISNULL(bm_n.LanguageCache,'')
-			AND ISNULL(SpeciesExpertName,'') = ISNULL(bm_n.SpeciesExpertName,'')
-			AND ISNULL(LastAction,'') = ISNULL(bm_n.LastAction,'')
-			AND ISNULL(LastActionDate,'00:00:00') = ISNULL(bm_n.LastActionDate,'00:00:00')
-			AND ISNULL(SourceNameCache,'') = ISNULL(bm_ns.SourceNameCache,'')
-			AND ISNULL(SourceDetail,'') = ISNULL(bm_ns.SourceDetail,'')
-			)
-		SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-		IF @n_bm = 0 BEGIN
-			PRINT ('All note * notesource results in EM2PESI exist also in CDM_EM2PESI')
-		END ELSE PRINT ('WARNING: ' + @str_n_bm + ' existing note * notesource results for identical taxa in EM2PESI DO NOT exist in CDM_EM2PESI')
-	/*
-		SELECT bm_t.Fullname, bm_n.Note_1, bm_n.Note_2, bm_n.NoteCategoryCache, bm_n.LanguageCache,
-		bm_n.SpeciesExpertName, bm_n.LastAction, bm_n.LastActionDate, bm_ns.SourceNameCache, bm_ns.SourceDetail,
-		'in EM2PESI but not in CDM_EM2PESI'
-		FROM [EM2PESI].[DBO].Note bm_n INNER JOIN
-		[EM2PESI].[DBO].TAXON bm_t ON bm_n.TaxonFk = bm_t.TaxonId LEFT OUTER JOIN
-		[EM2PESI].[DBO].NoteSource bm_ns ON bm_ns.NoteFk = bm_n.NoteId INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE NOT EXISTS
-		(SELECT * FROM [CDM_EM2PESI].[DBO].Note LEFT OUTER JOIN [CDM_EM2PESI].[DBO].NoteSource
-		ON [CDM_EM2PESI].[DBO].Note.NoteId = [CDM_EM2PESI].[DBO].NoteSource.NoteFk
-		WHERE TaxonFk = cdm_t.TaxonId AND ISNULL(Note_1,'') = ISNULL(bm_n.Note_1,'')
-		AND ISNULL(Note_2,'') = ISNULL(bm_n.Note_2,'')
-		AND ISNULL(NoteCategoryCache,'') = ISNULL(bm_n.NoteCategoryCache,'')
-		AND ISNULL(LanguageCache,'') = ISNULL(bm_n.LanguageCache,'')
-		AND ISNULL(SpeciesExpertName,'') = ISNULL(bm_n.SpeciesExpertName,'')
-		AND ISNULL(LastAction,'') = ISNULL(bm_n.LastAction,'')
-		AND ISNULL(LastActionDate,'00:00:00') = ISNULL(bm_n.LastActionDate,'00:00:00')
-		AND ISNULL(SourceNameCache,'') = ISNULL(bm_ns.SourceNameCache,'')
-		AND ISNULL(SourceDetail,'') = ISNULL(bm_ns.SourceDetail,'')
-		)
-	*/
-		SELECT @n_cdm = COUNT(*) -- note * notesource results only in CDM_EM2PESI
-			FROM [CDM_EM2PESI].[DBO].Note cdm_n INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t ON cdm_n.TaxonFk = cdm_t.TaxonId LEFT OUTER JOIN
-			[CDM_EM2PESI].[DBO].NoteSource cdm_ns ON cdm_ns.NoteFk = cdm_n.NoteId INNER JOIN
-			[EM2PESI].[DBO].TAXON bm_t
-			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-			WHERE NOT EXISTS
-			(SELECT * FROM [EM2PESI].[DBO].Note LEFT OUTER JOIN [EM2PESI].[DBO].NoteSource
-			ON [EM2PESI].[DBO].Note.NoteId = [EM2PESI].[DBO].NoteSource.NoteFk
-			WHERE TaxonFk = bm_t.TaxonId AND ISNULL(Note_1,'') = ISNULL(cdm_n.Note_1,'')
-			AND ISNULL(Note_2,'') = ISNULL(cdm_n.Note_2,'')
-			AND ISNULL(NoteCategoryCache,'') = ISNULL(cdm_n.NoteCategoryCache,'')
-			AND ISNULL(LanguageCache,'') = ISNULL(cdm_n.LanguageCache,'')
-			AND ISNULL(SpeciesExpertName,'') = ISNULL(cdm_n.SpeciesExpertName,'')
-			AND ISNULL(LastAction,'') = ISNULL(cdm_n.LastAction,'')
-			AND ISNULL(LastActionDate,'00:00:00') = ISNULL(cdm_n.LastActionDate,'00:00:00')
-			AND ISNULL(SourceNameCache,'') = ISNULL(cdm_ns.SourceNameCache,'')
-			AND ISNULL(SourceDetail,'') = ISNULL(cdm_ns.SourceDetail,'')
-			)
-		SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-		IF @n_cdm = 0 BEGIN
-			PRINT ('All note * notesource results in CDM_EM2PESI exist also in EM2PESI')
-		END ELSE PRINT ('WARNING: ' + @str_n_cdm + ' existing note * notesource results for identical taxa in CDM_EM2PESI DO NOT exist in EM2PESI')
-	/*
-		SELECT bm_t.Fullname, cdm_n.Note_1, cdm_n.Note_2, cdm_n.NoteCategoryCache, cdm_n.LanguageCache,
-		cdm_n.SpeciesExpertName, cdm_n.LastAction, cdm_n.LastActionDate, cdm_ns.SourceNameCache, cdm_ns.SourceDetail,
-		'in CDM_EM2PESI but not in EM2PESI'
-		FROM [CDM_EM2PESI].[DBO].Note cdm_n INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t ON cdm_n.TaxonFk = cdm_t.TaxonId LEFT OUTER JOIN
-		[CDM_EM2PESI].[DBO].NoteSource cdm_ns ON cdm_ns.NoteFk = cdm_n.NoteId INNER JOIN
-		[EM2PESI].[DBO].TAXON bm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE NOT EXISTS
-		(SELECT * FROM [EM2PESI].[DBO].Note LEFT OUTER JOIN [EM2PESI].[DBO].NoteSource
-		ON [EM2PESI].[DBO].Note.NoteId = [EM2PESI].[DBO].NoteSource.NoteFk
-		WHERE TaxonFk = bm_t.TaxonId AND ISNULL(Note_1,'') = ISNULL(cdm_n.Note_1,'')
-		AND ISNULL(Note_2,'') = ISNULL(cdm_n.Note_2,'')
-		AND ISNULL(NoteCategoryCache,'') = ISNULL(cdm_n.NoteCategoryCache,'')
-		AND ISNULL(LanguageCache,'') = ISNULL(cdm_n.LanguageCache,'')
-		AND ISNULL(SpeciesExpertName,'') = ISNULL(cdm_n.SpeciesExpertName,'')
-		AND ISNULL(LastAction,'') = ISNULL(cdm_n.LastAction,'')
-		AND ISNULL(LastActionDate,'00:00:00') = ISNULL(cdm_n.LastActionDate,'00:00:00')
-		AND ISNULL(SourceNameCache,'') = ISNULL(cdm_ns.SourceNameCache,'')
-		AND ISNULL(SourceDetail,'') = ISNULL(cdm_ns.SourceDetail,'')
-		)
-	*/
-		IF @n_cdm = 0 AND @n_bm = 0 BEGIN
-			PRINT ('All note * notesource results are identical in both databases')
-		END
-
-------------------------------------------- Occurrence -------------------------------
-	PRINT ' '
-	PRINT 'OCCURRENCES'
-	
-	SELECT @n_bm = COUNT(*) FROM [EM2PESI].[DBO].Occurrence LEFT OUTER JOIN
-		[EM2PESI].[DBO].OccurrenceSource ON OccurrenceFk = OccurrenceId
-	SELECT @n_cdm = COUNT(*) FROM [CDM_EM2PESI].[DBO].Occurrence LEFT OUTER JOIN
-		[CDM_EM2PESI].[DBO].OccurrenceSource ON OccurrenceFk = OccurrenceId
-	SET @n = @n_bm - @n_cdm
-
-	SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-	SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-	SET @str_n = Cast(@n AS NVARCHAR)
-
-	IF @n = 0 BEGIN
-		PRINT ('Both databases have the same number of occurrence * occurrencesource results = ' + @str_n_bm)
-	END ELSE PRINT ('WARNING: Both databases DO NOT have the same number of occurrence * occurrencesource results, n_bm = ' + @str_n_bm + ' and n_cdm = '+ @str_n_cdm)
-
-		SELECT @n_bm = COUNT(*) -- occurrence * occurrencesource results only in EM2PESI
-			FROM [EM2PESI].[DBO].Occurrence bm_o INNER JOIN
-			[EM2PESI].[DBO].TAXON bm_t ON bm_o.TaxonFk = bm_t.TaxonId LEFT OUTER JOIN
-			[EM2PESI].[DBO].OccurrenceSource bm_os ON bm_os.OccurrenceFk = bm_o.OccurrenceId INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t
-			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-			WHERE NOT EXISTS
-			(SELECT * FROM [CDM_EM2PESI].[DBO].Occurrence LEFT OUTER JOIN [CDM_EM2PESI].[DBO].OccurrenceSource
-			ON [CDM_EM2PESI].[DBO].Occurrence.OccurrenceId = [CDM_EM2PESI].[DBO].OccurrenceSource.OccurrenceFk
-			WHERE TaxonFk = cdm_t.TaxonId 
-				AND ISNULL(TaxonFullNameCache,'') = ISNULL(bm_o.TaxonFullNameCache,'')
-				AND ISNULL(AreaNameCache,'') = ISNULL(bm_o.AreaNameCache,'')
-				AND ISNULL(OccurrenceStatusCache,'') = ISNULL(bm_o.OccurrenceStatusCache,'')
-				AND ISNULL(Notes,'') = ISNULL(bm_o.Notes,'')
-				AND ISNULL(SpeciesExpertName,'') = ISNULL(bm_o.SpeciesExpertName,'')
-				AND ISNULL(LastAction,'') = ISNULL(bm_o.LastAction,'')
-				AND ISNULL(LastActionDate,'00:00:00') = ISNULL(bm_o.LastActionDate,'00:00:00')
-				AND ISNULL(SourceNameCache,'') = ISNULL(bm_os.SourceNameCache,'')
-				AND ISNULL(OldTaxonName,'') = ISNULL(bm_os.OldTaxonName,'')
-			)
-		SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-		IF @n_bm = 0 BEGIN
-			PRINT ('All occurrence * occurrencesource results in EM2PESI exist also in CDM_EM2PESI')
-		END ELSE PRINT ('WARNING: ' + @str_n_bm + ' existing occurrence * occurrencesource results for identical taxa in EM2PESI DO NOT exist in CDM_EM2PESI')
-	/*
-		SELECT cdm_t.TaxonId as cdmTID, bm_t.TaxonId bmTID, bm_t.Fullname, bm_o.TaxonFullNameCache, bm_o.AreaNameCache, bm_o.OccurrenceStatusCache, bm_o.Notes,
-		bm_o.SpeciesExpertName, bm_o.LastAction, bm_o.LastActionDate, bm_os.SourceNameCache, bm_os.OldTaxonName,
-		'in EM2PESI but not in CDM_EM2PESI'
-		FROM [EM2PESI].[DBO].Occurrence bm_o INNER JOIN
-		[EM2PESI].[DBO].TAXON bm_t ON bm_o.TaxonFk = bm_t.TaxonId LEFT OUTER JOIN
-		[EM2PESI].[DBO].OccurrenceSource bm_os ON bm_os.OccurrenceFk = bm_o.OccurrenceId INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE NOT EXISTS
-		(SELECT * FROM [CDM_EM2PESI].[DBO].Occurrence LEFT OUTER JOIN [CDM_EM2PESI].[DBO].OccurrenceSource
-		ON [CDM_EM2PESI].[DBO].Occurrence.OccurrenceId = [CDM_EM2PESI].[DBO].OccurrenceSource.OccurrenceFk
-		WHERE TaxonFk = cdm_t.TaxonId AND ISNULL(TaxonFullNameCache,'') = ISNULL(bm_o.TaxonFullNameCache,'')
-		AND ISNULL(AreaNameCache,'') = ISNULL(bm_o.AreaNameCache,'')
-		AND ISNULL(OccurrenceStatusCache,'') = ISNULL(bm_o.OccurrenceStatusCache,'')
-		AND ISNULL(Notes,'') = ISNULL(bm_o.Notes,'')
-		AND ISNULL(SpeciesExpertName,'') = ISNULL(bm_o.SpeciesExpertName,'')
-		AND ISNULL(LastAction,'') = ISNULL(bm_o.LastAction,'')
-		AND ISNULL(LastActionDate,'00:00:00') = ISNULL(bm_o.LastActionDate,'00:00:00')
-		AND ISNULL(SourceNameCache,'') = ISNULL(bm_os.SourceNameCache,'')
-		AND ISNULL(OldTaxonName,'') = ISNULL(bm_os.OldTaxonName,'')
-		)
-	*/
-		SELECT @n_cdm = COUNT(*) -- occurrence * occurrencesource results only in CDM_EM2PESI
-			FROM [CDM_EM2PESI].[DBO].Occurrence cdm_o INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t ON cdm_o.TaxonFk = cdm_t.TaxonId LEFT OUTER JOIN
-			[CDM_EM2PESI].[DBO].OccurrenceSource cdm_os ON cdm_os.OccurrenceFk = cdm_o.OccurrenceId INNER JOIN
-			[EM2PESI].[DBO].TAXON bm_t
-			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-			WHERE NOT EXISTS
-			(SELECT * FROM [EM2PESI].[DBO].Occurrence LEFT OUTER JOIN [EM2PESI].[DBO].OccurrenceSource
-			ON [EM2PESI].[DBO].Occurrence.OccurrenceId = [EM2PESI].[DBO].OccurrenceSource.OccurrenceFk
-			WHERE TaxonFk = bm_t.TaxonId 
-				AND ISNULL(TaxonFullNameCache,'') = ISNULL(cdm_o.TaxonFullNameCache,'')
-				AND ISNULL(AreaNameCache,'') = ISNULL(cdm_o.AreaNameCache,'')
-				AND ISNULL(OccurrenceStatusCache,'') = ISNULL(cdm_o.OccurrenceStatusCache,'')
-				AND ISNULL(Notes,'') = ISNULL(cdm_o.Notes,'')
-				AND ISNULL(SpeciesExpertName,'') = ISNULL(cdm_o.SpeciesExpertName,'')
-				AND ISNULL(LastAction,'') = ISNULL(cdm_o.LastAction,'')
-				AND ISNULL(LastActionDate,'00:00:00') = ISNULL(cdm_o.LastActionDate,'00:00:00')
-				AND ISNULL(SourceNameCache,'') = ISNULL(cdm_os.SourceNameCache,'')
-				AND ISNULL(OldTaxonName,'') = ISNULL(cdm_os.OldTaxonName,'')
-			)
-		SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-		IF @n_cdm = 0 BEGIN
-			PRINT ('All occurrence * occurrencesource results in CDM_EM2PESI exist also in EM2PESI')
-		END ELSE PRINT ('WARNING: ' + @str_n_cdm + ' existing occurrence * occurrencesource results for identical taxa in CDM_EM2PESI DO NOT exist in EM2PESI')
-	/*
-		SELECT cdm_t.TaxonId as cdmTID, bm_t.TaxonId bmTID, bm_t.Fullname, cdm_o.TaxonFullNameCache, cdm_o.AreaNameCache, cdm_o.OccurrenceStatusCache, cdm_o.Notes,
-		cdm_o.SpeciesExpertName, cdm_o.LastAction, cdm_o.LastActionDate, cdm_os.SourceNameCache, cdm_os.OldTaxonName,
-		'in CDM_EM2PESI but not in EM2PESI'
-		FROM [CDM_EM2PESI].[DBO].Occurrence cdm_o INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t ON cdm_o.TaxonFk = cdm_t.TaxonId LEFT OUTER JOIN
-		[CDM_EM2PESI].[DBO].OccurrenceSource cdm_os ON cdm_os.OccurrenceFk = cdm_o.OccurrenceId INNER JOIN
-		[EM2PESI].[DBO].TAXON bm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE NOT EXISTS
-		(SELECT * FROM [EM2PESI].[DBO].Occurrence LEFT OUTER JOIN [EM2PESI].[DBO].OccurrenceSource
-		ON [EM2PESI].[DBO].Occurrence.OccurrenceId = [EM2PESI].[DBO].OccurrenceSource.OccurrenceFk
-		WHERE TaxonFk = bm_t.TaxonId AND ISNULL(TaxonFullNameCache,'') = ISNULL(cdm_o.TaxonFullNameCache,'')
-		AND ISNULL(AreaNameCache,'') = ISNULL(cdm_o.AreaNameCache,'')
-		AND ISNULL(OccurrenceStatusCache,'') = ISNULL(cdm_o.OccurrenceStatusCache,'')
-		AND ISNULL(Notes,'') = ISNULL(cdm_o.Notes,'')
-		AND ISNULL(SpeciesExpertName,'') = ISNULL(cdm_o.SpeciesExpertName,'')
-		AND ISNULL(LastAction,'') = ISNULL(cdm_o.LastAction,'')
-		AND ISNULL(LastActionDate,'00:00:00') = ISNULL(cdm_o.LastActionDate,'00:00:00')
-		AND ISNULL(SourceNameCache,'') = ISNULL(cdm_os.SourceNameCache,'')
-		AND ISNULL(OldTaxonName,'') = ISNULL(cdm_os.OldTaxonName,'')
-		)
-	*/
-		IF @n_cdm = 0 AND @n_bm = 0 BEGIN
-			PRINT ('All occurrence * occurrencesource results are identical in both databases')
-		END
-
-
-	PRINT ('End of check')
-
-
-END
\ No newline at end of file
diff --git a/cdm-pesi/src/main/resources/sql/Check_Import_Master.sql b/cdm-pesi/src/main/resources/sql/Check_Import_Master.sql
deleted file mode 100644
index da8b4052..00000000
--- a/cdm-pesi/src/main/resources/sql/Check_Import_Master.sql
+++ /dev/null
@@ -1,1207 +0,0 @@
-BEGIN
-
-	DECLARE @n INT
-	DECLARE @n_cdm INT
-	DECLARE @n_bm INT
-	DECLARE @str_n NVARCHAR (7)
-	DECLARE @str_n_cdm NVARCHAR (7)
-	DECLARE @str_n_bm NVARCHAR (7)
-
-
-------------------------------------------- Taxon -------------------------------
-
-	SELECT @n_bm = COUNT(*) FROM [EM2PESI].[DBO].TAXON
-	SELECT @n_cdm = COUNT(*) FROM [CDM_EM2PESI].[DBO].TAXON
-	SET @n = @n_bm - @n_cdm
-
-	SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-	SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-	SET @str_n = Cast(@n AS NVARCHAR)
-
-	IF @n = 0 BEGIN
-		PRINT ('Both databases have the same number of taxa = ' + @str_n_bm)
-	END ELSE PRINT ('WARNING: Both databases DO NOT have the same number of taxa, n_bm = ' + @str_n_bm + ' and n_cdm = '+ @str_n_cdm)
-	SELECT @n = COUNT(*)
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON (bm_t.IdInSource = cdm_t.IdInSource OR bm_t.IdInSource IS NULL AND cdm_t.IdInSource IS NULL) 
-		    AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-	SET @str_n = Cast(@n AS NVARCHAR)
-	IF @n = @n_bm BEGIN
-		PRINT ('To each taxon from one database there is an identical taxon in the other one (IdInSource, GUID)')
-	END ELSE PRINT ('WARNING: Only ' + @str_n + ' taxa are identical (IdInSource, GUID) in both databases')
-
-		/*
-	SELECT cdm_t.Fullname, cdm_t.IdInSource, cdm_t.GUID, 'in CDM_EM2PESI but not in EM2PESI'
-	FROM [CDM_EM2PESI].[DBO].TAXON cdm_t
-	WHERE NOT EXISTS
-		(SELECT * FROM [EM2PESI].[DBO].TAXON WHERE (IdInSource = cdm_t.IdInSource OR IdInSource IS NULL AND cdm_t.IdInSource IS NULL)
-		AND ISNULL(GUID, '') = ISNULL(cdm_t.GUID, ''))
-	ORDER BY cdm_t.IdInSource
-
-	SELECT bm_t.Fullname, bm_t.IdInSource, bm_t.GUID, 'in EM2PESI but not in CDM_EM2PESI'
-	FROM [EM2PESI].[DBO].TAXON bm_t
-	WHERE NOT EXISTS
-		(SELECT * FROM [CDM_EM2PESI].[DBO].TAXON WHERE (IdInSource = bm_t.IdInSource OR IdInSource IS NULL AND bm_t.IdInSource IS NULL)
-		AND ISNULL(GUID, '') = ISNULL(bm_t.GUID, ''))
-	ORDER BY bm_t.IdInSource
-
-	*/
-
--- Source
-/* Does not make much sense since the source for taxa is almost always the database itself which must be created as source
-	SELECT @n_bm = COUNT(*) FROM [EM2PESI].[DBO].TAXON WHERE SourceFk IS NOT NULL
-	SELECT @n_cdm = COUNT(*) FROM [CDM_EM2PESI].[DBO].TAXON WHERE SourceFk IS NOT NULL
-	SET @n = @n_bm - @n_cdm
-
-	SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-	SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-	SET @str_n = Cast(@n AS NVARCHAR)
-
-	IF @n = 0 BEGIN
-		PRINT ('Both databases have the same number of taxa which have a source = ' + @str_n_bm)
-	END ELSE PRINT ('WARNING: Both databases DO NOT have the same number of taxa that have a source, n_bm = ' + @str_n_bm + ' and n_cdm = '+ @str_n_cdm)
-
-		SELECT @n = COUNT(*) -- in both databases sources exist but are different
-			FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t
-			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
-			[EM2PESI].[DBO].SOURCE bm_s ON bm_t.SourceFk = bm_s.SourceId INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_s ON cdm_t.SourceFk = cdm_s.SourceId
-			WHERE bm_s.RefIdInSource <> cdm_s.RefIdInSource OR ISNULL(bm_s.OriginalDB, '') <> ISNULL(cdm_s.OriginalDB, '')
-		SET @str_n = Cast(@n AS NVARCHAR)
-		IF @n = 0 BEGIN
-			PRINT ('All identical taxa that have sources have the same source')
-		END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa have different sources')
-	/-*
-		SELECT cdm_t.Fullname, cdm_s.RefIdInSource as Source_CDM_EM2PESI, bm_s.RefIdInSource as Source_EM2PESI
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
-		[EM2PESI].[DBO].SOURCE bm_s ON bm_t.SourceFk = bm_s.SourceId INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_s ON cdm_t.SourceFk = cdm_s.SourceId
-		WHERE bm_s.RefIdInSource <> cdm_s.RefIdInSource OR ISNULL(bm_s.OriginalDB, '') <> ISNULL(cdm_s.OriginalDB, '')
-	*-/
-		SELECT @n_bm = COUNT(*) -- taxa with source only in EM2PESI
-			FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t
-			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
-			[EM2PESI].[DBO].SOURCE bm_s ON bm_t.SourceFk = bm_s.SourceId
-			WHERE NOT EXISTS
-				(SELECT * FROM [CDM_EM2PESI].[DBO].TAXON INNER JOIN
-				[CDM_EM2PESI].[DBO].TAXON cdm_s ON SourceFk = SourceId
-				WHERE cdm_s.RefIdInSource = bm_s.RefIdInSource AND cdm_s.OriginalDB = bm_s.OriginalDB
-				AND IdInSource = bm_t.IdInSource AND ISNULL(GUID, '') = ISNULL(bm_t.GUID, ''))
-		SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-		IF @n_bm > 0 PRINT ('WARNING: ' + @str_n_bm + ' taxa have sources in EM2PESI but not in CDM_EM2PESI')
-	/-*
-		SELECT cdm_t.Fullname, bm_s.Fullname as source_EM2PESI, 'in EM2PESI but not in CDM_EM2PESI'
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
-		[EM2PESI].[DBO].SOURCE bm_s ON bm_t.SourceFk = bm_s.SourceId
-		WHERE NOT EXISTS
-		(SELECT * FROM [CDM_EM2PESI].[DBO].TAXON INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_s ON SourceFk = SourceId
-		WHERE cdm_s.RefIdInSource = bm_s.RefIdInSource AND cdm_s.OriginalDB = bm_s.OriginalDB
-		AND IdInSource = bm_t.IdInSource AND ISNULL(GUID, '') = ISNULL(bm_t.GUID, ''))
-	*-/
-		SELECT @n_cdm = COUNT(*) -- taxa with source only in CDM_EM2PESI
-			FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t
-			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
-			[CDM_EM2PESI].[DBO].SOURCE cdm_s ON cdm_t.SourceFk = cdm_s.SourceId
-			WHERE NOT EXISTS
-				(SELECT * FROM [EM2PESI].[DBO].TAXON INNER JOIN
-				[EM2PESI].[DBO].TAXON bm_s ON SourceFk = SourceId
-				WHERE cdm_s.RefIdInSource = bm_s.RefIdInSource AND cdm_s.OriginalDB = bm_s.OriginalDB
-				AND IdInSource = cdm_t.IdInSource AND ISNULL(GUID, '') = ISNULL(cdm_t.GUID, ''))
-		SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-		IF @n_cdm > 0 PRINT ('WARNING: ' + @str_n_cdm + ' taxa have sources in CDM_EM2PESI but not in EM2PESI')
-	/-*
-		SELECT cdm_t.Fullname, cdm_s.Fullname as source_CDM_EM2PESI, 'in CDM_EM2PESI but not in EM2PESI'
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
-		[CDM_EM2PESI].[DBO].SOURCE cdm_s ON bm_t.SourceFk = cdm_s.SourceId
-		(SELECT * FROM [EM2PESI].[DBO].TAXON INNER JOIN
-		[EM2PESI].[DBO].TAXON bm_s ON SourceFk = SourceId
-		WHERE cdm_s.RefIdInSource = bm_s.RefIdInSource AND cdm_s.OriginalDB = bm_s.OriginalDB
-		AND IdInSource = cdm_t.IdInSource AND ISNULL(GUID, '') = ISNULL(cdm_t.GUID, ''))
-	*-/
-		IF @n = 0 AND @n_cdm = 0 AND @n_bm = 0 BEGIN
-			PRINT ('All identical taxa have the same source')
-		END
-
-*/
-
--- Authors
-	SELECT @n = COUNT(*)
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		CDM_EM2PESI.[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE ISNULL(bm_t.AuthorString, '') <> ISNULL(cdm_t.AuthorString, '')
-	SET @str_n = Cast(@n AS NVARCHAR)
-	IF @n = 0 BEGIN
-		PRINT ('All identical taxa have the same authors')
-	END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa DO NOT have the same authors')
-
-	/*
-		SELECT cdm_t.TaxonId as ID_CDM, bm_t.TaxonId as ID_SQL, cdm_t.FullName as FullName_CDM, bm_t.FullName as FullName_SQL,
-			cdm_t.AuthorString as AuthorString_CDM, bm_t.AuthorString as AuthorString_SQL
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		CDM_EM2PESI.[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE ISNULL(bm_t.AuthorString, '') <> ISNULL(cdm_t.AuthorString, '')
-	*/
-
--- Epithets
-	SELECT @n = COUNT(*)
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE ISNULL(bm_t.GenusOrUninomial, '') <> ISNULL(cdm_t.GenusOrUninomial, '') OR
-		ISNULL(bm_t.InfraGenericEpithet, '') <> ISNULL(cdm_t.InfraGenericEpithet, '') OR
-		ISNULL(bm_t.SpecificEpithet, '') <> ISNULL(cdm_t.SpecificEpithet, '') OR
-		ISNULL(bm_t.InfraSpecificEpithet, '') <> ISNULL(cdm_t.InfraSpecificEpithet, '')
-	SET @str_n = Cast(@n AS NVARCHAR)
-	IF @n = 0 BEGIN
-		PRINT ('All identical taxa have the same epithets')
-	END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa DO NOT have the same epithets')
-
-	/*
-	SELECT  cdm_t.GenusOrUninomial as Genus_CDM, bm_t.GenusOrUninomial as Genus_SQL,
-			cdm_t.InfraGenericEpithet as Infragenus_CDM, bm_t.InfraGenericEpithet as Infragenus_SQL,
-			cdm_t.SpecificEpithet  as SpecificEpithet_CDM, bm_t.SpecificEpithet as SpecificEpithet_SQL,
-			cdm_t.InfraSpecificEpithet as Infraspec_CDM, bm_t.InfraSpecificEpithet as Infraspec_SQL
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		CDM_EM2PESI.[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE ISNULL(bm_t.GenusOrUninomial, '') <> ISNULL(cdm_t.GenusOrUninomial, '') OR
-		ISNULL(bm_t.InfraGenericEpithet, '') <> ISNULL(cdm_t.InfraGenericEpithet, '') OR
-		ISNULL(bm_t.SpecificEpithet, '') <> ISNULL(cdm_t.SpecificEpithet, '') OR
-		ISNULL(bm_t.InfraSpecificEpithet, '') <> ISNULL(cdm_t.InfraSpecificEpithet, '')
-	*/
-
--- Names
-	SELECT @n = COUNT(*)
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE ISNULL(bm_t.WebSearchName, '') <> ISNULL(cdm_t.WebSearchName, '') OR
-		ISNULL(bm_t.WebShowName, '') <> ISNULL(cdm_t.WebShowName, '') OR
-		ISNULL(bm_t.DisplayName, '') <> ISNULL(cdm_t.DisplayName, '')
-	SET @str_n = Cast(@n AS NVARCHAR)
-	IF @n = 0 BEGIN
-		PRINT ('All identical taxa have the same scientific name')
-	END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa DO NOT have the same scientific name')
-	/*
-	SELECT cdm_t.WebSearchName as WebSearchName_CDM_EM2PESI, bm_t.WebSearchName as WebSearchName_EM2PESI,
-		cdm_t.WebShowName as WebShowName_CDM_EM2PESI, bm_t.WebShowName as WebShowName_EM2PESI,
-		cdm_t.FullName as FullName_CDM_EM2PESI, bm_t.FullName as FullName_EM2PESI,
-		cdm_t.NomRefString as NomRefString_CDM_EM2PESI, bm_t.NomRefString as NomRefString_EM2PESI,
-		cdm_t.DisplayName as DisplayName_CDM_EM2PESI, bm_t.DisplayName as DisplayName_EM2PESI,
-		cdm_t.GUID as GUID_CDM, bm_t.GUID as GUID_SQL
-	FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-	CDM_EM2PESI.[DBO].TAXON cdm_t
-	ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-	WHERE ISNULL(bm_t.WebSearchName, '') <> ISNULL(cdm_t.WebSearchName, '') OR
-		ISNULL(bm_t.WebShowName, '') <> ISNULL(cdm_t.WebShowName, '') OR
-		ISNULL(bm_t.DisplayName, '') <> ISNULL(cdm_t.DisplayName, '')
-	*/
-
--- Full Name
-	SELECT @n = COUNT(*)
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		CDM_EM2PESI.[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE ISNULL(bm_t.FullName, '') <> ISNULL(cdm_t.FullName, '')
-	SET @str_n = Cast(@n AS NVARCHAR)
-	IF @n = 0 BEGIN
-		PRINT ('All identical taxa have the same full name')
-	END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa DO NOT have the same full name')
-
-/*
-	SELECT cdm_t.FullName as FullName_CDM_EM2PESI, bm_t.FullName as FullName_EM2PESI,
-		cdm_t.WebSearchName as WebSearchName_CDM_EM2PESI, bm_t.WebSearchName as WebSearchName_EM2PESI,
-		cdm_t.WebShowName as WebShowName_CDM_EM2PESI, bm_t.WebShowName as WebShowName_EM2PESI,
-		cdm_t.FullName as FullName_CDM_EM2PESI, bm_t.FullName as FullName_EM2PESI,
-		cdm_t.NomRefString as NomRefString_CDM_EM2PESI, bm_t.NomRefString as NomRefString_EM2PESI,
-		cdm_t.DisplayName as DisplayName_CDM_EM2PESI, bm_t.DisplayName as DisplayName_EM2PESI,
-		cdm_t.GUID as GUID_CDM, bm_t.GUID as GUID_SQL
-	FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		CDM_EM2PESI.[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-	WHERE ISNULL(bm_t.FullName, '') <> ISNULL(cdm_t.FullName, '')
-	ORDER BY cdm_t.FullName
-	*/
-
--- Nom Ref
-
-	SELECT @n = COUNT(*)
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		CDM_EM2PESI.[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE ISNULL(bm_t.NomRefString, '') <> ISNULL(cdm_t.NomRefString, '')
-	SET @str_n = Cast(@n AS NVARCHAR)
-	IF @n = 0 BEGIN
-		PRINT ('All identical taxa have the same nomenclatural reference')
-	END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa DO NOT have the same nomenclatural reference')
-	/*
-	SELECT cdm_t.FullName as FullName_CDM_EM2PESI, bm_t.FullName as FullName_EM2PESI,
-		cdm_t.NomRefString as NomRefString_CDM_EM2PESI, bm_t.NomRefString as NomRefString_EM2PESI,
-		cdm_t.DisplayName as DisplayName_CDM_EM2PESI, bm_t.DisplayName as DisplayName_EM2PESI,
-		cdm_t.GUID as GUID_CDM, bm_t.GUID as GUID_SQL
-	FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		CDM_EM2PESI.[DBO].TAXON cdm_t
-	ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-	WHERE ISNULL(bm_t.NomRefString, '') <> ISNULL(cdm_t.NomRefString, '')
-	ORDER BY cdm_t.NomRefString
-	*/
-
--- Ranks
-	SELECT @n = COUNT(*)
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE ISNULL(bm_t.KingdomFk, 0) <> ISNULL(cdm_t.KingdomFk, 0) OR
-		ISNULL(bm_t.RankFk, 0) <> ISNULL(cdm_t.RankFk, 0) OR
-		ISNULL(bm_t.RankCache, '') <> ISNULL(cdm_t.RankCache, '')
-	SET @str_n = Cast(@n AS NVARCHAR)
-	IF @n = 0 BEGIN
-		PRINT ('All identical taxa have the same rank (KingdomFk, RankFk, RankCache)')
-	END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa DO NOT have the same rank (KingdomFk, RankFk, RankCache)')
-	/*
-	SELECT cdm_t.Fullname, cdm_t.KingdomFk as Kingdom_CDM_EM2PESI, bm_t.KingdomFk as Kingdom_EM2PESI,
-	cdm_t.RankFk as RankFk_CDM_EM2PESI, bm_t.RankFk as RankFk_EM2PESI,
-	cdm_t.RankCache as Rank_CDM_EM2PESI, bm_t.RankCache as Rank_EM2PESI
-	FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-	[CDM_EM2PESI].[DBO].TAXON cdm_t
-	ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-	WHERE ISNULL(bm_t.KingdomFk, 0) <> ISNULL(cdm_t.KingdomFk, 0) OR
-	ISNULL(bm_t.RankFk, 0) <> ISNULL(cdm_t.RankFk, 0) OR
-	ISNULL(bm_t.RankCache, '') <> ISNULL(cdm_t.RankCache, '')
-	*/
-
--- Status
-	SELECT @n = COUNT(*)
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE ISNULL(bm_t.NameStatusCache, '') <> ISNULL(cdm_t.NameStatusCache, '') OR
-		ISNULL(bm_t.TaxonStatusCache, '') <> ISNULL(cdm_t.TaxonStatusCache, '')
-	SET @str_n = Cast(@n AS NVARCHAR)
-	IF @n = 0 BEGIN
-		PRINT ('All identical taxa have the same status (NameStatusCache, TaxonStatusCache)')
-	END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa DO NOT have the same status (NameStatusCache, TaxonStatusCache)')
-	/*
-	SELECT cdm_t.Fullname, cdm_t.NameStatusFk as NameStatusFk_CDM_EM2PESI, bm_t.NameStatusFk as NameStatusFk_EM2PESI,
-	cdm_t.NameStatusCache as NameStatus_CDM_EM2PESI, bm_t.NameStatusCache as NameStatus_EM2PESI,
-	cdm_t.TaxonStatusFk as TaxonStatusFk_CDM_EM2PESI, bm_t.TaxonStatusFk as TaxonStatusFk_EM2PESI,
-	cdm_t.TaxonStatusCache as TaxonStatus_CDM_EM2PESI, bm_t.TaxonStatusCache as TaxonStatus_EM2PESI
-	FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-	[CDM_EM2PESI].[DBO].TAXON cdm_t
-	ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-	WHERE ISNULL(bm_t.NameStatusCache, '') <> ISNULL(cdm_t.NameStatusCache, '') OR
-	ISNULL(bm_t.TaxonStatusCache, '') <> ISNULL(cdm_t.TaxonStatusCache, '')
-	*/
-
--- Types
-	SELECT @n_bm = COUNT(*) FROM [EM2PESI].[DBO].TAXON WHERE TypeNameFk IS NOT NULL
-	SELECT @n_cdm = COUNT(*) FROM [CDM_EM2PESI].[DBO].TAXON WHERE TypeNameFk IS NOT NULL
-	SET @n = @n_bm - @n_cdm
-
-	SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-	SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-	SET @str_n = Cast(@n AS NVARCHAR)
-
-	IF @n = 0 BEGIN
-		PRINT ('Both databases have the same number of taxa which have a type = ' + @str_n_bm)
-	END ELSE PRINT ('WARNING: Both databases DO NOT have the same number of taxa that have a type, n_bm = ' + @str_n_bm + ' and n_cdm = '+ @str_n_cdm)
-
-		SELECT @n = COUNT(*) -- in both databases types exist but are different
-			FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t
-			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
-			[EM2PESI].[DBO].TAXON bm_pt ON bm_t.TypeNameFk = bm_pt.TaxonId INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_pt ON cdm_t.TypeNameFk = cdm_pt.TaxonId
-			WHERE bm_pt.IdInSource <> cdm_pt.IdInSource OR ISNULL(bm_pt.GUID, '') <> ISNULL(cdm_pt.GUID, '')
-		SET @str_n = Cast(@n AS NVARCHAR)
-		IF @n = 0 BEGIN
-			PRINT ('All identical taxa that have types have the same type')
-		END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa have different types')
-	/*
-		SELECT cdm_t.Fullname, cdm_pt.Fullname as Type_CDM_EM2PESI, bm_pt.Fullname as Type_EM2PESI
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
-		[EM2PESI].[DBO].TAXON bm_pt ON bm_t.TypeNameFk = bm_pt.TaxonId INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_pt ON cdm_t.TypeNameFk = cdm_pt.TaxonId
-		WHERE bm_pt.IdInSource <> cdm_pt.IdInSource OR ISNULL(bm_pt.GUID, '') <> ISNULL(cdm_pt.GUID, '')
-		ORDER BY cdm_t.Fullname
-	*/
-		SELECT @n_bm = COUNT(*) -- taxa with type only in EM2PESI
-			FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t
-			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
-			[EM2PESI].[DBO].TAXON bm_pt ON bm_t.TypeNameFk = bm_pt.TaxonId
-			WHERE NOT EXISTS
-				(SELECT * FROM [CDM_EM2PESI].[DBO].TAXON
-				WHERE IdInSource = bm_pt.IdInSource AND ISNULL(GUID, '') = ISNULL(bm_pt.GUID, ''))
-		SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-		IF @n_bm > 0 PRINT ('WARNING: ' + @str_n_bm + ' identical taxa have types in EM2PESI but not in CDM_EM2PESI')
-	/*
-		SELECT cdm_t.Fullname, bm_pt.Fullname as Type_EM2PESI, 'in EM2PESI but not in CDM_EM2PESI'
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
-		[EM2PESI].[DBO].TAXON bm_pt ON bm_t.TypeNameFk = bm_pt.TaxonId
-		WHERE NOT EXISTS
-		(SELECT * FROM [CDM_EM2PESI].[DBO].TAXON
-		WHERE IdInSource = bm_pt.IdInSource AND ISNULL(GUID, '') = ISNULL(bm_pt.GUID, ''))
-		ORDER BY cdm_t.Fullname
-	*/
-		SELECT @n_cdm = COUNT(*) -- taxa with type only in CDM_EM2PESI
-			FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t
-			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_pt ON cdm_t.TypeNameFk = cdm_pt.TaxonId
-			WHERE NOT EXISTS
-				(SELECT * FROM [EM2PESI].[DBO].TAXON
-				WHERE IdInSource = cdm_pt.IdInSource AND ISNULL(GUID, '') = ISNULL(cdm_pt.GUID, ''))
-		SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-		IF @n_cdm > 0 PRINT ('WARNING: ' + @str_n_cdm + ' identical taxa have types in CDM_EM2PESI but not in EM2PESI')
-	/*
-		SELECT cdm_t.Fullname, cdm_pt.Fullname as Type_CDM_EM2PESI, 'in CDM_EM2PESI but not in EM2PESI'
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_pt ON cdm_t.TypeNameFk = cdm_pt.TaxonId
-		WHERE NOT EXISTS
-		(SELECT * FROM [EM2PESI].[DBO].TAXON
-		WHERE IdInSource = cdm_pt.IdInSource AND ISNULL(GUID, '') = ISNULL(cdm_pt.GUID, ''))
-	*/
-		IF @n = 0 AND @n_cdm = 0 AND @n_bm = 0 BEGIN
-			PRINT ('All identical taxa have the same type')
-		END
-
--- QualityStatus
-	SELECT @n = COUNT(*)
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE ISNULL(bm_t.QualityStatusCache, '') <> ISNULL(cdm_t.QualityStatusCache, '')
-	SET @str_n = Cast(@n AS NVARCHAR)
-	IF @n = 0 BEGIN
-		PRINT ('All identical taxa have the same quality status (QualityStatusCache)')
-	END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa DO NOT have the same quality status (QualityStatusCache)')
-	/*
-	SELECT cdm_t.Fullname, cdm_t.QualityStatusCache as QualityStatus_CDM_EM2PESI, bm_t.QualityStatusCache as QualityStatus_EM2PESI
-	FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-	[CDM_EM2PESI].[DBO].TAXON cdm_t
-	ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-	WHERE ISNULL(bm_t.QualityStatusCache, '') <> ISNULL(cdm_t.QualityStatusCache, '')
-	*/
-
--- Experts
-	SELECT @n = COUNT(*)
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE ISNULL(bm_t.ExpertName, '') <> ISNULL(cdm_t.ExpertName, '') OR
-		ISNULL(bm_t.SpeciesExpertName, '') <> ISNULL(cdm_t.SpeciesExpertName, '')
-	SET @str_n = Cast(@n AS NVARCHAR)
-	IF @n = 0 BEGIN
-		PRINT ('All identical taxa have the same experts (ExpertName, SpeciesExpertName)')
-	END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa DO NOT have the same experts (ExpertName, SpeciesExpertName)')
-	/*
-	SELECT cdm_t.Fullname, cdm_t.ExpertName as ExpertName_CDM_EM2PESI, bm_t.ExpertName as ExpertName_EM2PESI,
-	cdm_t.SpeciesExpertName as SpeciesExpertName_CDM_EM2PESI, bm_t.SpeciesExpertName as SpeciesExpertName_EM2PESI
-	FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-	[CDM_EM2PESI].[DBO].TAXON cdm_t
-	ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-	WHERE ISNULL(bm_t.ExpertName, '') <> ISNULL(cdm_t.ExpertName, '') OR
-	ISNULL(bm_t.SpeciesExpertName, '') <> ISNULL(cdm_t.SpeciesExpertName, '')
-	*/
-
--- Citation
-	SELECT @n = COUNT(*)
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE ISNULL(bm_t.CacheCitation, '') <> ISNULL(cdm_t.CacheCitation, '')
-	SET @str_n = Cast(@n AS NVARCHAR)
-	IF @n = 0 BEGIN
-		PRINT ('All identical taxa have the same CacheCitation')
-	END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa DO NOT have the same CacheCitation')
-	/*
-	SELECT cdm_t.Fullname, cdm_t.CacheCitation as CacheCitation_CDM_EM2PESI, bm_t.CacheCitation as CacheCitation_EM2PESI
-	FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-	[CDM_EM2PESI].[DBO].TAXON cdm_t
-	ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-	WHERE ISNULL(bm_t.CacheCitation, '') <> ISNULL(cdm_t.CacheCitation, '')
-	*/
-
--- Original database
-	SELECT @n = COUNT(*)
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE ISNULL(bm_t.OriginalDB, '') <> ISNULL(cdm_t.OriginalDB, '')
-	SET @str_n = Cast(@n AS NVARCHAR)
-	IF @n = 0 BEGIN
-		PRINT ('All identical taxa have the same OriginalDB')
-	END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa DO NOT have the same OriginalDB')
-	/*
-	SELECT cdm_t.Fullname, cdm_t.OriginalDB as OriginalDB_CDM_EM2PESI, bm_t.OriginalDB as OriginalDB_EM2PESI
-	FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-	[CDM_EM2PESI].[DBO].TAXON cdm_t
-	ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-	WHERE ISNULL(bm_t.OriginalDB, '') <> ISNULL(cdm_t.OriginalDB, '')
-	*/
-
--- Action
-	SELECT @n = COUNT(*)
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE ISNULL(bm_t.LastAction, '') <> ISNULL(cdm_t.LastAction, '') OR
-		convert(smalldatetime, ISNULL(bm_t.LastActionDate, '00:00:00'))  <>
-		convert(smalldatetime, ISNULL(cdm_t.LastActionDate, '00:00:00'))
-	SET @str_n = Cast(@n AS NVARCHAR)
-	IF @n = 0 BEGIN
-		PRINT ('All identical taxa have the same last actions (LastAction, LastActionDate)')
-	END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa DO NOT have the last actions (LastAction, LastActionDate)')
-	/*
-	SELECT cdm_t.Fullname, cdm_t.LastAction as LastAction_CDM_EM2PESI, bm_t.LastAction as LastAction_EM2PESI,
-	cdm_t.LastActionDate as LastActionDate_CDM_EM2PESI, bm_t.LastActionDate as LastActionDate_EM2PESI
-	FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-	[CDM_EM2PESI].[DBO].TAXON cdm_t
-	ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-	WHERE ISNULL(bm_t.LastAction, '') <> ISNULL(cdm_t.LastAction, '') OR
-	convert(smalldatetime, ISNULL(bm_t.LastActionDate, '00:00:00')) <>
-	convert(smalldatetime, ISNULL(cdm_t.LastActionDate, '00:00:00'))
-	*/
-
-
-	
--- Parents
-
-	PRINT ' '
-	PRINT 'PARENTS'
-	SELECT @n_bm = COUNT(*) FROM [EM2PESI].[DBO].TAXON WHERE ParentTaxonFk IS NOT NULL
-	SELECT @n_cdm = COUNT(*) FROM [CDM_EM2PESI].[DBO].TAXON WHERE ParentTaxonFk IS NOT NULL
-	SET @n = @n_bm - @n_cdm
-
-	SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-	SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-	SET @str_n = Cast(@n AS NVARCHAR)
-
-	IF @n = 0 BEGIN
-		PRINT ('Both databases have the same number of taxa which have a parent = ' + @str_n_bm)
-	END ELSE PRINT ('WARNING: Both databases DO NOT have the same number of taxa that have a parent, n_bm = ' + @str_n_bm + ' and n_cdm = '+ @str_n_cdm)
-
-		SELECT @n = COUNT(*) -- in both databases parents exist but are different
-			FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t
-			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
-			[EM2PESI].[DBO].TAXON bm_pt ON bm_t.ParentTaxonFk = bm_pt.TaxonId INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_pt ON cdm_t.ParentTaxonFk = cdm_pt.TaxonId
-			WHERE bm_pt.IdInSource <> cdm_pt.IdInSource OR ISNULL(bm_pt.GUID, '') <> ISNULL(cdm_pt.GUID, '')
-		SET @str_n = Cast(@n AS NVARCHAR)
-		IF @n = 0 BEGIN
-			PRINT ('All identical taxa that have parents have the same parent')
-		END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa have different parents')
-	/*
-		SELECT  cdm_t.FullName as Child_CDM, cdm_pt.Fullname as Parent_CDM_EM2PESI, bm_t.FullName as child_sql,  bm_pt.Fullname as Parent_EM2PESI
-		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
-			[EM2PESI].[DBO].TAXON bm_pt ON bm_t.ParentTaxonFk = bm_pt.TaxonId INNER JOIN
-		[	CDM_EM2PESI].[DBO].TAXON cdm_pt ON cdm_t.ParentTaxonFk = cdm_pt.TaxonId
-		WHERE bm_pt.IdInSource <> cdm_pt.IdInSource OR ISNULL(bm_pt.GUID, '') <> ISNULL(cdm_pt.GUID, '')
-	*/
-		SELECT @n_bm = COUNT(*) -- taxa with parent only in EM2PESI
-			FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t
-			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
-			[EM2PESI].[DBO].TAXON bm_pt ON bm_t.ParentTaxonFk = bm_pt.TaxonId
-			WHERE NOT EXISTS
-				(SELECT * FROM [CDM_EM2PESI].[DBO].TAXON
-				WHERE IdInSource = bm_pt.IdInSource AND ISNULL(GUID, '') = ISNULL(bm_pt.GUID, ''))
-		SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-		IF @n_bm > 0 BEGIN 
-			PRINT ('WARNING: ' + @str_n_bm + ' identical taxa have parents in EM2PESI but not in CDM_EM2PESI')
-		END ELSE PRINT ('All identical taxa that have parents in EM2PESI do have parents in CDM_EM2PESI')
-
-	/*
-		SELECT cdm_t.Fullname ChildName, bm_pt.Fullname as Parent_EM2PESI, 'in EM2PESI but not in CDM_EM2PESI'
-		FROM [EM2PESI].[DBO].TAXON bm_t 
-			INNER JOIN [EM2PESI].[DBO].TAXON bm_pt ON bm_t.ParentTaxonFk = bm_pt.TaxonId
-			INNER JOIN [CDM_EM2PESI].[DBO].TAXON cdm_t ON ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') 
-		
-		WHERE cdm_t.ParentTaxonFk  IS NULL AND NOT EXISTS 
-		(SELECT * FROM [CDM_EM2PESI].[DBO].TAXON cdm_pt
-		WHERE (cdm_pt.IdInSource = bm_pt.IdInSource OR cdm_pt.IdInSource IS NULL AND bm_pt.IdInSource IS NULL) 
-				AND ISNULL(cdm_pt.GUID, '') = ISNULL(bm_pt.GUID, '')
-				AND cdm_t.ParentTaxonFk = cdm_pt.TaxonId)
-		ORDER BY cdm_t.Fullname
-
-	*/
-		SELECT @n_cdm = COUNT(*) -- taxa with parent only in CDM_EM2PESI
-			FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t
-			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_pt ON cdm_t.ParentTaxonFk = cdm_pt.TaxonId
-			WHERE NOT EXISTS
-				(SELECT * FROM [EM2PESI].[DBO].TAXON
-				WHERE IdInSource = cdm_pt.IdInSource AND ISNULL(GUID, '') = ISNULL(cdm_pt.GUID, ''))
-		SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-		IF @n_cdm > 0 BEGIN 
-			PRINT ('WARNING: ' + @str_n_cdm + ' identical taxa have parents in CDM_EM2PESI but not in EM2PESI')
-		END ELSE PRINT('All identical taxa that have parents in CDM_EM2PESI do have parents in EM2PESI')
-		
-	/*
-		SELECT bm_t.Fullname ChildName, cdm_pt.Fullname as Parent_CDM, 'in CDM_EM2PESI but not in EM2PESI'
-		FROM [CDM_EM2PESI].[DBO].TAXON cdm_t 
-			INNER JOIN [CDM_EM2PESI].[DBO].TAXON cdm_pt ON cdm_t.ParentTaxonFk = cdm_pt.TaxonId
-			INNER JOIN [EM2PESI].[DBO].TAXON bm_t ON ISNULL(cdm_t.GUID, '') = ISNULL(bm_t.GUID, '') 
-		
-		WHERE bm_t.ParentTaxonFk  IS NULL AND NOT EXISTS 
-		(SELECT * FROM [EM2PESI].[DBO].TAXON bm_pt
-		WHERE (bm_pt.IdInSource = cdm_pt.IdInSource OR bm_pt.IdInSource IS NULL AND cdm_pt.IdInSource IS NULL) 
-				AND ISNULL(bm_pt.GUID, '') = ISNULL(cdm_pt.GUID, '')
-				AND bm_t.ParentTaxonFk = bm_pt.TaxonId)
-		ORDER BY bm_t.Fullname
-	*/
-		IF @n = 0 AND @n_cdm = 0 AND @n_bm = 0 BEGIN
-			PRINT ('All identical taxa have the same parent')
-		END
-
--- TreeIndex
-/* This is not checked. This field should be created by the PESI-Procedure recalculateallstoredpaths.
-	Actually checking the parents of the same taxa is enough to ensure the compatibility of the taxonomical tree as a whole.
-	See the Parent section
-*/
-	SELECT @n_bm = COUNT(*) FROM [EM2PESI].[DBO].TAXON WHERE TreeIndex IS NOT NULL
-	SELECT @n_cdm = COUNT(*) FROM [CDM_EM2PESI].[DBO].TAXON WHERE TreeIndex IS NOT NULL
-	SET @n = @n_bm - @n_cdm
-
-	SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-	SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-	SET @str_n = Cast(@n AS NVARCHAR)
-
-	IF @n = 0 BEGIN
-		PRINT ('Both databases have the same number of taxa which have a tree index = ' + @str_n_bm)
-	END ELSE PRINT ('WARNING: Both databases DO NOT have the same number of taxa that have a tree index, n_bm = ' + @str_n_bm + ' and n_cdm = '+ @str_n_cdm)
-	
-------------------------------------------- RelTaxon -------------------------------
-	PRINT ' '
-	PRINT 'RELATIONSHIP'
-	
--- taxonomical relationships between taxa and nomenclatural relationships between names
-	SELECT @n_bm = COUNT(*) FROM [EM2PESI].[DBO].RELTAXON
-	SELECT @n_cdm = COUNT(*) FROM [CDM_EM2PESI].[DBO].RELTAXON
-	SET @n = @n_bm - @n_cdm
-
-	SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-	SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-	SET @str_n = Cast(@n AS NVARCHAR)
-
-	IF @n = 0 BEGIN
-		PRINT ('Both databases have the same number of relationship records = ' + @str_n_bm)
-	END ELSE PRINT ('WARNING: Both databases DO NOT have the same number of relationship records, n_bm = ' + @str_n_bm + ' and n_cdm = '+ @str_n_cdm)
-
-		SELECT @n_bm = COUNT(*) -- relationships only in EM2PESI
-			FROM [EM2PESI].[DBO].RELTAXON bm_rt INNER JOIN
-			[EM2PESI].[DBO].TAXON bm_t1 ON bm_rt.TaxonFk1 = bm_t1.TaxonId INNER JOIN
-			[EM2PESI].[DBO].TAXON bm_t2 ON bm_rt.TaxonFk2 = bm_t2.TaxonId INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t1
-			ON bm_t1.IdInSource = cdm_t1.IdInSource AND ISNULL(bm_t1.GUID, '') = ISNULL(cdm_t1.GUID, '') INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t2
-			ON bm_t2.IdInSource = cdm_t2.IdInSource AND ISNULL(bm_t2.GUID, '') = ISNULL(cdm_t2.GUID, '')
-			WHERE NOT EXISTS
-			(SELECT * FROM [CDM_EM2PESI].[DBO].RELTAXON
-			WHERE TaxonFk1 = cdm_t1.TaxonId AND TaxonFk2 = cdm_t2.TaxonId AND RelQualifierCache = bm_rt.RelQualifierCache)
-		SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-		IF @n_bm = 0 BEGIN
-			PRINT ('All relationships in EM2PESI exist also in CDM_EM2PESI')
-		END ELSE PRINT ('WARNING: ' + @str_n_bm + ' existing relationships for identical taxa in EM2PESI DO NOT exist in CDM_EM2PESI')
-	/*
-		SELECT bm_t1.Fullname, bm_rt.RelQualifierCache, bm_t2.Fullname, 'in EM2PESI but not in CDM_EM2PESI'
-		FROM [EM2PESI].[DBO].RELTAXON bm_rt INNER JOIN
-		[EM2PESI].[DBO].TAXON bm_t1 ON bm_rt.TaxonFk1 = bm_t1.TaxonId INNER JOIN
-		[EM2PESI].[DBO].TAXON bm_t2 ON bm_rt.TaxonFk2 = bm_t2.TaxonId INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t1
-		ON bm_t1.IdInSource = cdm_t1.IdInSource AND ISNULL(bm_t1.GUID, '') = ISNULL(cdm_t1.GUID, '') INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t2
-		ON bm_t2.IdInSource = cdm_t2.IdInSource AND ISNULL(bm_t2.GUID, '') = ISNULL(cdm_t2.GUID, '')
-		WHERE NOT EXISTS
-		(SELECT * FROM [CDM_EM2PESI].[DBO].RELTAXON
-		WHERE TaxonFk1 = cdm_t1.TaxonId AND TaxonFk2 = cdm_t2.TaxonId AND RelQualifierCache = bm_rt.RelQualifierCache)
-
-		SELECT [RelTaxonQualifierFk]
-		,[RelQualifierCache]
-		, COUNT(*) as n
-		FROM [CDM_EM2PESI].[dbo].[RelTaxon] rel INNER JOIN [CDM_EM2PESI].[dbo].[Taxon] t1 ON t1.TaxonId = rel.TaxonFk1
-		INNER JOIN [CDM_EM2PESI].[dbo].[Taxon] t2 ON t2.TaxonId = rel.TaxonFk2
-		GROUP BY RelTaxonQualifierFk, RelQualifierCache
-		ORDER BY RelTaxonQualifierFk, COUNT(*) DESC
-
-		SELECT [RelTaxonQualifierFk]
-		,[RelQualifierCache]
-		, COUNT(*) as n
-		FROM [EM2PESI].[dbo].[RelTaxon]
-		GROUP BY RelTaxonQualifierFk, RelQualifierCache
-		ORDER BY RelTaxonQualifierFk, COUNT(*) DESC
-		
-		SELECT t1.QualifierId, t1.Qualifier, t1.n as n_cdm, t2.n as n_bm,  t1.n - t2.n as diff
-		FROM (
-
-			SELECT rtq.QualifierId , rtq.Qualifier,  COUNT(rel.RelTaxonId) as n
-			FROM RelTaxonQualifier rtq LEFT OUTER JOIN [CDM_EM2PESI].[dbo].[RelTaxon] rel ON rel.RelTaxonQualifierFk = rtq.QualifierId 
-				LEFT OUTER JOIN [CDM_EM2PESI].[dbo].[Taxon] t1 ON t1.TaxonId = rel.TaxonFk1 
-				LEFT OUTER JOIN [CDM_EM2PESI].[dbo].[Taxon] t2 ON t2.TaxonId = rel.TaxonFk2
-			GROUP BY QualifierId, Qualifier
-		) t1 INNER JOIN  (
-			SELECT rtq2.QualifierId , rtq2.Qualifier, COUNT(rel.RelTaxonId) as n
-			FROM RelTaxonQualifier rtq2 LEFT OUTER JOIN [EM2PESI].[dbo].[RelTaxon] rel ON rel.RelTaxonQualifierFk = rtq2.QualifierId 
-				LEFT OUTER JOIN [EM2PESI].[dbo].[Taxon] t1 ON t1.TaxonId = rel.TaxonFk1 
-				LEFT OUTER JOIN [EM2PESI].[dbo].[Taxon] t2 ON t2.TaxonId = rel.TaxonFk2
-				GROUP BY QualifierId, Qualifier
-		) t2  ON t1.QualifierId  = t2.QualifierId AND t1.n <> t2.n
-		ORDER BY t1.QualifierId DESC
-
-	*/
-		SELECT @n_cdm = COUNT(*) -- relationships only in CDM_EM2PESI
-			FROM [CDM_EM2PESI].[DBO].RELTAXON cdm_rt INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t1 ON cdm_rt.TaxonFk1 = cdm_t1.TaxonId INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t2 ON cdm_rt.TaxonFk2 = cdm_t2.TaxonId INNER JOIN
-			[EM2PESI].[DBO].TAXON bm_t1
-			ON bm_t1.IdInSource = cdm_t1.IdInSource AND ISNULL(bm_t1.GUID, '') = ISNULL(cdm_t1.GUID, '') INNER JOIN
-			[EM2PESI].[DBO].TAXON bm_t2
-			ON bm_t2.IdInSource = cdm_t2.IdInSource AND ISNULL(bm_t2.GUID, '') = ISNULL(cdm_t2.GUID, '')
-			WHERE NOT EXISTS
-			(SELECT * FROM [EM2PESI].[DBO].RELTAXON
-			WHERE TaxonFk1 = bm_t1.TaxonId AND TaxonFk2 = bm_t2.TaxonId AND RelQualifierCache = cdm_rt.RelQualifierCache)
-		SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-		IF @n_cdm = 0 BEGIN
-			PRINT ('All relationships in CDM_EM2PESI exist also in EM2PESI')
-		END ELSE PRINT ('WARNING: ' + @str_n_cdm + ' existing relationships for identical taxa in CDM_EM2PESI DO NOT exist in EM2PESI')
-	/*
-		SELECT cdm_t1.Fullname, cdm_rt.RelQualifierCache, cdm_t2.Fullname, 'in CDM_EM2PESI but not in CDM_EM2PESI'
-		FROM [CDM_EM2PESI].[DBO].RELTAXON cdm_rt INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t1 ON cdm_rt.TaxonFk1 = cdm_t1.TaxonId INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t2 ON cdm_rt.TaxonFk2 = cdm_t2.TaxonId INNER JOIN
-		[EM2PESI].[DBO].TAXON bm_t1
-		ON bm_t1.IdInSource = cdm_t1.IdInSource AND ISNULL(bm_t1.GUID, '') = ISNULL(cdm_t1.GUID, '') INNER JOIN
-		[EM2PESI].[DBO].TAXON bm_t2
-		ON bm_t2.IdInSource = cdm_t2.IdInSource AND ISNULL(bm_t2.GUID, '') = ISNULL(cdm_t2.GUID, '')
-		WHERE NOT EXISTS
-		(SELECT * FROM [EM2PESI].[DBO].RELTAXON
-		WHERE TaxonFk1 = bm_t1.TaxonId AND TaxonFk2 = bm_t2.TaxonId AND RelQualifierCache = cdm_rt.RelQualifierCache)
-	*/
-		IF @n_cdm = 0 AND @n_bm = 0 BEGIN
-			PRINT ('All relationships are identical in both databases')
-		END
-
-
-------------------------------------------- CommonName -------------------------------
-	PRINT ' '
-	PRINT 'COMMON NAMES'
-
-	SELECT @n_bm = COUNT(*) FROM [EM2PESI].[DBO].CommonName
-	SELECT @n_cdm = COUNT(*) FROM [CDM_EM2PESI].[DBO].CommonName
-	SET @n = @n_bm - @n_cdm
-
-	SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-	SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-	SET @str_n = Cast(@n AS NVARCHAR)
-
-	IF @n = 0 BEGIN
-		PRINT ('Both databases have the same number of common names = ' + @str_n_bm)
-	END ELSE PRINT ('WARNING: Both databases DO NOT have the same number of common names, n_bm = ' + @str_n_bm + ' and n_cdm = '+ @str_n_cdm)
-
-		SELECT @n_bm = COUNT(*) -- common names only in EM2PESI
-			FROM [EM2PESI].[DBO].CommonName bm_cn INNER JOIN
-			[EM2PESI].[DBO].TAXON bm_t ON bm_cn.TaxonFk = bm_t.TaxonId INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t
-			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-			WHERE NOT EXISTS
-			(SELECT * FROM [CDM_EM2PESI].[DBO].CommonName
-			WHERE TaxonFk = cdm_t.TaxonId AND ISNULL(CommonName,'') = ISNULL(bm_cn.CommonName,'')
-			AND ISNULL(LanguageCache,'') = ISNULL(bm_cn.LanguageCache,'')
-			AND ISNULL(SourceNameCache,'') = ISNULL(bm_cn.SourceNameCache,'')
-			AND ISNULL(SpeciesExpertName,'') = ISNULL(bm_cn.SpeciesExpertName,'')
-			AND ISNULL(LastAction,'') = ISNULL(bm_cn.LastAction,'')
-			AND ISNULL(LastActionDate,'00:00:00') = ISNULL(bm_cn.LastActionDate,'00:00:00')
-			)
-		SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-		IF @n_bm = 0 BEGIN
-			PRINT ('All common names in EM2PESI exist also in CDM_EM2PESI')
-		END ELSE PRINT ('WARNING: ' + @str_n_bm + ' existing common names for identical taxa in EM2PESI DO NOT exist in CDM_EM2PESI')
-	/*
-		SELECT bm_t.Fullname, bm_cn.CommonName, bm_cn.LanguageCache,
-		bm_cn.SourceNameCache, bm_cn.SpeciesExpertName, bm_cn.LastAction,
-		bm_cn.LastActionDate, 'in EM2PESI but not in CDM_EM2PESI'
-		FROM [EM2PESI].[DBO].CommonName bm_cn INNER JOIN
-		[EM2PESI].[DBO].TAXON bm_t ON bm_cn.TaxonFk = bm_t.TaxonId INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE NOT EXISTS
-		(SELECT * FROM [CDM_EM2PESI].[DBO].CommonName
-		WHERE TaxonFk = cdm_t.TaxonId AND ISNULL(CommonName,'') = ISNULL(bm_cn.CommonName,'')
-		AND ISNULL(LanguageCache,'') = ISNULL(bm_cn.LanguageCache,'')
-		AND ISNULL(SourceNameCache,'') = ISNULL(bm_cn.SourceNameCache,'')
-		AND ISNULL(SpeciesExpertName,'') = ISNULL(bm_cn.SpeciesExpertName,'')
-		AND ISNULL(LastAction,'') = ISNULL(bm_cn.LastAction,'')
-		AND ISNULL(LastActionDate,'00:00:00') = ISNULL(bm_cn.LastActionDate,'00:00:00')
-		)
-	*/
-		SELECT @n_cdm = COUNT(*) -- common names only in CDM_EM2PESI
-			FROM [CDM_EM2PESI].[DBO].CommonName cdm_cn INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t ON cdm_cn.TaxonFk = cdm_t.TaxonId INNER JOIN
-			[EM2PESI].[DBO].TAXON bm_t
-			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-			WHERE NOT EXISTS
-			(SELECT * FROM [EM2PESI].[DBO].CommonName
-			WHERE TaxonFk = bm_t.TaxonId AND ISNULL(CommonName,'') = ISNULL(cdm_cn.CommonName,'')
-			AND ISNULL(LanguageCache,'') = ISNULL(cdm_cn.LanguageCache,'')
-			AND ISNULL(SourceNameCache,'') = ISNULL(cdm_cn.SourceNameCache,'')
-			AND ISNULL(SpeciesExpertName,'') = ISNULL(cdm_cn.SpeciesExpertName,'')
-			AND ISNULL(LastAction,'') = ISNULL(cdm_cn.LastAction,'')
-			AND ISNULL(LastActionDate,'00:00:00') = ISNULL(cdm_cn.LastActionDate,'00:00:00')
-			)
-		SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-		IF @n_cdm = 0 BEGIN
-			PRINT ('All common names in CDM_EM2PESI exist also in EM2PESI')
-		END ELSE PRINT ('WARNING: ' + @str_n_cdm + ' existing common names for identical taxa in CDM_EM2PESI DO NOT exist in EM2PESI')
-	/*
-		SELECT bm_t.Fullname, cdm_cn.CommonName, cdm_cn.LanguageCache,
-		cdm_cn.SourceNameCache, cdm_cn.SpeciesExpertName, cdm_cn.LastAction,
-		cdm_cn.LastActionDate, 'in CDM_EM2PESI but not in EM2PESI'
-		FROM [CDM_EM2PESI].[DBO].CommonName cdm_cn INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t ON cdm_cn.TaxonFk = cdm_t.TaxonId INNER JOIN
-		[EM2PESI].[DBO].TAXON bm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE NOT EXISTS
-		(SELECT * FROM [EM2PESI].[DBO].CommonName
-		WHERE TaxonFk = bm_t.TaxonId AND ISNULL(CommonName,'') = ISNULL(cdm_cn.CommonName,'')
-		AND ISNULL(LanguageCache,'') = ISNULL(cdm_cn.LanguageCache,'')
-		AND ISNULL(SourceNameCache,'') = ISNULL(cdm_cn.SourceNameCache,'')
-		AND ISNULL(SpeciesExpertName,'') = ISNULL(cdm_cn.SpeciesExpertName,'')
-		AND ISNULL(LastAction,'') = ISNULL(cdm_cn.LastAction,'')
-		AND ISNULL(LastActionDate,'00:00:00') = ISNULL(cdm_cn.LastActionDate,'00:00:00')
-		)
-	*/
-		IF @n_cdm = 0 AND @n_bm = 0 BEGIN
-			PRINT ('All common names are identical in both databases')
-		END
-
-------------------------------------------- AdditionalTaxonSource -------------------------------
-	PRINT ' '
-	PRINT 'ADDITIONAL TAXON SOURCE'
-	
-	SELECT @n_bm = COUNT(*) FROM [EM2PESI].[DBO].AdditionalTaxonSource
-	SELECT @n_cdm = COUNT(*) FROM [CDM_EM2PESI].[DBO].AdditionalTaxonSource
-	SET @n = @n_bm - @n_cdm
-
-	SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-	SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-	SET @str_n = Cast(@n AS NVARCHAR)
-
-	IF @n = 0 BEGIN
-		PRINT ('Both databases have the same number of additional sources = ' + @str_n_bm)
-	END ELSE PRINT ('WARNING: Both databases DO NOT have the same number of additional sources, n_bm = ' + @str_n_bm + ' and n_cdm = '+ @str_n_cdm)
-
-		SELECT @n_bm = COUNT(*) -- additional sources only in EM2PESI
-			FROM [EM2PESI].[DBO].AdditionalTaxonSource bm_ats INNER JOIN
-			[EM2PESI].[DBO].TAXON bm_t ON bm_ats.TaxonFk = bm_t.TaxonId INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t
-			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-			WHERE NOT EXISTS
-			(SELECT * FROM [CDM_EM2PESI].[DBO].AdditionalTaxonSource
-			WHERE TaxonFk = cdm_t.TaxonId 
-			AND ISNULL(SourceUseCache,'') = ISNULL(bm_ats.SourceUseCache,'')
-			AND ISNULL(SourceNameCache,'') = ISNULL(bm_ats.SourceNameCache,'')
-			AND ISNULL(SourceDetail,'') = ISNULL(bm_ats.SourceDetail,'')
-			)
-		SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-		IF @n_bm = 0 BEGIN
-			PRINT ('All additional sources in EM2PESI exist also in CDM_EM2PESI')
-		END ELSE PRINT ('WARNING: ' + @str_n_bm + ' existing additional sources for identical taxa in EM2PESI DO NOT exist in CDM_EM2PESI')
-	/*
-		SELECT bm_t.Fullname, bm_ats.SourceUseCache, bm_ats.SourceNameCache,
-		bm_ats.SourceDetail, 'in EM2PESI but not in CDM_EM2PESI'
-		FROM [EM2PESI].[DBO].AdditionalTaxonSource bm_ats INNER JOIN
-		[EM2PESI].[DBO].TAXON bm_t ON bm_ats.TaxonFk = bm_t.TaxonId INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE NOT EXISTS
-		(SELECT * FROM [CDM_EM2PESI].[DBO].AdditionalTaxonSource
-		WHERE TaxonFk = cdm_t.TaxonId 
-		AND ISNULL(SourceUseCache,'') = ISNULL(bm_ats.SourceUseCache,'')
-		AND ISNULL(SourceNameCache,'') = ISNULL(bm_ats.SourceNameCache,'')
-		AND ISNULL(SourceDetail,'') = ISNULL(bm_ats.SourceDetail,'')
-		)
-		ORDER BY bm_t.Fullname, bm_ats.SourceUseCache, bm_ats.SourceNameCache
-		
-	*/
-		SELECT @n_cdm = COUNT(*) -- additional sources only in CDM_EM2PESI
-			FROM [CDM_EM2PESI].[DBO].AdditionalTaxonSource cdm_ats INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t ON cdm_ats.TaxonFk = cdm_t.TaxonId INNER JOIN
-			[EM2PESI].[DBO].TAXON bm_t
-			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-			WHERE NOT EXISTS
-			(SELECT * FROM [EM2PESI].[DBO].AdditionalTaxonSource
-			WHERE TaxonFk = bm_t.TaxonId 
-			AND ISNULL(SourceUseCache,'') = ISNULL(cdm_ats.SourceUseCache,'')
-			AND ISNULL(SourceNameCache,'') = ISNULL(cdm_ats.SourceNameCache,'')
-			AND ISNULL(SourceDetail,'') = ISNULL(cdm_ats.SourceDetail,'')
-			)
-		SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-		IF @n_cdm = 0 BEGIN
-			PRINT ('All additional sources in CDM_EM2PESI exist also in EM2PESI')
-		END ELSE PRINT ('WARNING: ' + @str_n_cdm + ' existing additional sources for identical taxa in CDM_EM2PESI DO NOT exist in EM2PESI')
-	/*
-		SELECT bm_t.Fullname, cdm_ats.SourceUseCache, cdm_ats.SourceNameCache,
-		cdm_ats.SourceDetail, 'in EM2PESI but not in CDM_EM2PESI'
-		FROM [CDM_EM2PESI].[DBO].AdditionalTaxonSource cdm_ats INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t ON cdm_ats.TaxonFk = cdm_t.TaxonId INNER JOIN
-		[EM2PESI].[DBO].TAXON bm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE NOT EXISTS
-		(SELECT * FROM [EM2PESI].[DBO].AdditionalTaxonSource
-		WHERE TaxonFk = bm_t.TaxonId 
-		AND ISNULL(SourceUseCache,'') = ISNULL(cdm_ats.SourceUseCache,'')
-		AND ISNULL(SourceNameCache,'') = ISNULL(cdm_ats.SourceNameCache,'')
-		AND ISNULL(SourceDetail,'') = ISNULL(cdm_ats.SourceDetail,'')
-		)
-		ORDER BY bm_t.Fullname, cdm_ats.SourceUseCache, cdm_ats.SourceNameCache
-	*/
-		IF @n_cdm = 0 AND @n_bm = 0 BEGIN
-			PRINT ('All additional sources are identical in both databases')
-		END
-
------------------------------- Image (currently exist only in ERMS) -------------------------------
-	PRINT ' '
-	PRINT 'IMAGES'
-	
-	SELECT @n_bm = COUNT(*) FROM [EM2PESI].[DBO].Image
-	SELECT @n_cdm = COUNT(*) FROM [CDM_EM2PESI].[DBO].Image
-	SET @n = @n_bm - @n_cdm
-
-	SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-	SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-	SET @str_n = Cast(@n AS NVARCHAR)
-
-	IF @n = 0 BEGIN
-		PRINT ('Both databases have the same number of images = ' + @str_n_bm)
-	END ELSE PRINT ('WARNING: Both databases DO NOT have the same number of images, n_bm = ' + @str_n_bm + ' and n_cdm = '+ @str_n_cdm)
-
-		SELECT @n_bm = COUNT(*) -- images only in EM2PESI
-			FROM [EM2PESI].[DBO].Image bm_i INNER JOIN
-			[EM2PESI].[DBO].TAXON bm_t ON bm_i.TaxonFk = bm_t.TaxonId INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t
-			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-			WHERE NOT EXISTS
-			(SELECT * FROM [CDM_EM2PESI].[DBO].Image
-			WHERE TaxonFk = cdm_t.TaxonId AND ISNULL(img_thumb,'') = ISNULL(bm_i.img_thumb,'')
-			AND ISNULL(img_url,'') = ISNULL(bm_i.img_url,'')
-			)
-		SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-		IF @n_bm = 0 BEGIN
-			PRINT ('All images in EM2PESI exist also in CDM_EM2PESI')
-		END ELSE PRINT ('WARNING: ' + @str_n_bm + ' existing images for identical taxa in EM2PESI DO NOT exist in CDM_EM2PESI')
-	/*
-		SELECT bm_t.Fullname, bm_i.img_thumb, bm_i.img_url, 'in EM2PESI but not in CDM_EM2PESI'
-		FROM [EM2PESI].[DBO].Image bm_i INNER JOIN
-		[EM2PESI].[DBO].TAXON bm_t ON bm_i.TaxonFk = bm_t.TaxonId INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE NOT EXISTS
-		(SELECT * FROM [CDM_EM2PESI].[DBO].Image
-		WHERE TaxonFk = cdm_t.TaxonId AND ISNULL(img_thumb,'') = ISNULL(bm_i.img_thumb,'')
-		AND ISNULL(img_url,'') = ISNULL(bm_i.img_url,'')
-		)
-	*/
-		SELECT @n_cdm = COUNT(*) -- images only in CDM_EM2PESI
-			FROM [CDM_EM2PESI].[DBO].Image cdm_i INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t ON cdm_i.TaxonFk = cdm_t.TaxonId INNER JOIN
-			[EM2PESI].[DBO].TAXON bm_t
-			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-			WHERE NOT EXISTS
-			(SELECT * FROM [EM2PESI].[DBO].Image
-			WHERE TaxonFk = bm_t.TaxonId AND ISNULL(img_thumb,'') = ISNULL(cdm_i.img_thumb,'')
-			AND ISNULL(img_url,'') = ISNULL(cdm_i.img_url,'')
-			)
-		SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-		IF @n_cdm = 0 BEGIN
-			PRINT ('All images in CDM_EM2PESI exist also in EM2PESI')
-		END ELSE PRINT ('WARNING: ' + @str_n_cdm + ' existing images for identical taxa in CDM_EM2PESI DO NOT exist in EM2PESI')
-	/*
-		SELECT bm_t.Fullname, cdm_i.img_thumb, cdm_i.img_url, 'in CDM_EM2PESI but not in EM2PESI'
-		FROM [CDM_EM2PESI].[DBO].Image cdm_i INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t ON cdm_i.TaxonFk = cdm_t.TaxonId INNER JOIN
-		[EM2PESI].[DBO].TAXON bm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE NOT EXISTS
-		(SELECT * FROM [EM2PESI].[DBO].Image
-		WHERE TaxonFk = bm_t.TaxonId AND ISNULL(img_thumb,'') = ISNULL(cdm_i.img_thumb,'')
-		AND ISNULL(img_url,'') = ISNULL(cdm_i.img_url,'')
-		)
-	*/
-		IF @n_cdm = 0 AND @n_bm = 0 BEGIN
-			PRINT ('All images are identical in both databases')
-		END
-
-------------------------------------------- Note -------------------------------
-	PRINT ' '
-	PRINT 'NOTES'
-
-	SELECT @n_bm = COUNT(*) FROM [EM2PESI].[DBO].Note LEFT OUTER JOIN
-		[EM2PESI].[DBO].NoteSource ON NoteFk = NoteId
-	SELECT @n_cdm = COUNT(*) FROM [CDM_EM2PESI].[DBO].Note LEFT OUTER JOIN
-		[CDM_EM2PESI].[DBO].NoteSource ON NoteFk = NoteId
-	SET @n = @n_bm - @n_cdm
-
-	SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-	SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-	SET @str_n = Cast(@n AS NVARCHAR)
-
-	IF @n = 0 BEGIN
-		PRINT ('Both databases have the same number of note * notesource results = ' + @str_n_bm)
-	END ELSE PRINT ('WARNING: Both databases DO NOT have the same number of note * notesource results, n_bm = ' + @str_n_bm + ' and n_cdm = '+ @str_n_cdm)
-
-		SELECT @n_bm = COUNT(*) -- note * notesource results only in EM2PESI
-			FROM [EM2PESI].[DBO].Note bm_n INNER JOIN
-			[EM2PESI].[DBO].TAXON bm_t ON bm_n.TaxonFk = bm_t.TaxonId LEFT OUTER JOIN
-			[EM2PESI].[DBO].NoteSource bm_ns ON bm_ns.NoteFk = bm_n.NoteId INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t
-			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-			WHERE NOT EXISTS
-			(SELECT * FROM [CDM_EM2PESI].[DBO].Note LEFT OUTER JOIN [CDM_EM2PESI].[DBO].NoteSource
-			ON [CDM_EM2PESI].[DBO].Note.NoteId = [CDM_EM2PESI].[DBO].NoteSource.NoteFk
-			WHERE TaxonFk = cdm_t.TaxonId 
-			AND ISNULL(Note_1,'') = ISNULL(bm_n.Note_1,'')
-			AND ISNULL(Note_2,'') = ISNULL(bm_n.Note_2,'')
-			AND ISNULL(NoteCategoryCache,'') = ISNULL(bm_n.NoteCategoryCache,'')
-			AND ISNULL(LanguageCache,'') = ISNULL(bm_n.LanguageCache,'')
-			AND ISNULL(SpeciesExpertName,'') = ISNULL(bm_n.SpeciesExpertName,'')
-			AND ISNULL(LastAction,'') = ISNULL(bm_n.LastAction,'')
-			AND Left(ISNULL(LastActionDate,'00:00:00'),18) = Left(ISNULL(bm_n.LastActionDate,'00:00:00'),18)
-			AND ISNULL(SourceNameCache,'') = ISNULL(bm_ns.SourceNameCache,'')
-			AND ISNULL(SourceDetail,'') = ISNULL(bm_ns.SourceDetail,'')
-			)
-		SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-		IF @n_bm = 0 BEGIN
-			PRINT ('All note * notesource results in EM2PESI exist also in CDM_EM2PESI')
-		END ELSE PRINT ('WARNING: ' + @str_n_bm + ' existing note * notesource results for identical taxa in EM2PESI DO NOT exist in CDM_EM2PESI')
-	/*
-		Typical Problems: 
-		Duplicate entries during E+M SQL import for taxa using the same name object.
-		Missing source info by E+M SQL import
-		Last Action date automatically created (but wrong) by CDM import
-		
-		SELECT bm_t.Fullname, bm_n.Note_1, bm_n.Note_2, bm_n.NoteCategoryCache, bm_n.LanguageCache,
-		bm_n.SpeciesExpertName, bm_n.LastAction, bm_n.LastActionDate, bm_ns.SourceNameCache, bm_ns.SourceDetail,
-		'in EM2PESI but not in CDM_EM2PESI'
-		FROM [EM2PESI].[DBO].Note bm_n INNER JOIN
-		[EM2PESI].[DBO].TAXON bm_t ON bm_n.TaxonFk = bm_t.TaxonId LEFT OUTER JOIN
-		[EM2PESI].[DBO].NoteSource bm_ns ON bm_ns.NoteFk = bm_n.NoteId INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE NOT EXISTS
-		(SELECT * FROM [CDM_EM2PESI].[DBO].Note LEFT OUTER JOIN [CDM_EM2PESI].[DBO].NoteSource
-		ON [CDM_EM2PESI].[DBO].Note.NoteId = [CDM_EM2PESI].[DBO].NoteSource.NoteFk
-		WHERE TaxonFk = cdm_t.TaxonId 
-		AND ISNULL(Note_1,'') = ISNULL(bm_n.Note_1,'')
-		AND ISNULL(Note_2,'') = ISNULL(bm_n.Note_2,'')
-		AND ISNULL(NoteCategoryCache,'') = ISNULL(bm_n.NoteCategoryCache,'')
-		AND ISNULL(LanguageCache,'') = ISNULL(bm_n.LanguageCache,'')
-		AND ISNULL(SpeciesExpertName,'') = ISNULL(bm_n.SpeciesExpertName,'')
-		AND ISNULL(LastAction,'') = ISNULL(bm_n.LastAction,'')
-		AND Left(ISNULL(LastActionDate,'00:00:00'),18) = Left(ISNULL(bm_n.LastActionDate,'00:00:00'),18)
-		AND ISNULL(SourceNameCache,'') = ISNULL(bm_ns.SourceNameCache,'')
-		AND ISNULL(SourceDetail,'') = ISNULL(bm_ns.SourceDetail,'')
-		)
-		ORDER BY bm_n.NoteCategoryFk, bm_t.Fullname, bm_n.Note_1
-	*/
-		SELECT @n_cdm = COUNT(*) -- note * notesource results only in CDM_EM2PESI
-			FROM [CDM_EM2PESI].[DBO].Note cdm_n INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t ON cdm_n.TaxonFk = cdm_t.TaxonId LEFT OUTER JOIN
-			[CDM_EM2PESI].[DBO].NoteSource cdm_ns ON cdm_ns.NoteFk = cdm_n.NoteId INNER JOIN
-			[EM2PESI].[DBO].TAXON bm_t
-			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-			WHERE NOT EXISTS
-			(SELECT * FROM [EM2PESI].[DBO].Note LEFT OUTER JOIN [EM2PESI].[DBO].NoteSource
-			ON [EM2PESI].[DBO].Note.NoteId = [EM2PESI].[DBO].NoteSource.NoteFk
-			WHERE TaxonFk = bm_t.TaxonId 
-			AND ISNULL(Note_1,'') = ISNULL(cdm_n.Note_1,'')
-			AND ISNULL(Note_2,'') = ISNULL(cdm_n.Note_2,'')
-			AND ISNULL(NoteCategoryCache,'') = ISNULL(cdm_n.NoteCategoryCache,'')
-			AND ISNULL(LanguageCache,'') = ISNULL(cdm_n.LanguageCache,'')
-			AND ISNULL(SpeciesExpertName,'') = ISNULL(cdm_n.SpeciesExpertName,'')
-			AND ISNULL(LastAction,'') = ISNULL(cdm_n.LastAction,'')
-			AND LEFT(ISNULL(LastActionDate,'00:00:00'),18) = LEFT(ISNULL(cdm_n.LastActionDate,'00:00:00'),18)
-			AND ISNULL(SourceNameCache,'') = ISNULL(cdm_ns.SourceNameCache,'')
-			AND ISNULL(SourceDetail,'') = ISNULL(cdm_ns.SourceDetail,'')
-			)
-		SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-		IF @n_cdm = 0 BEGIN
-			PRINT ('All note * notesource results in CDM_EM2PESI exist also in EM2PESI')
-		END ELSE PRINT ('WARNING: ' + @str_n_cdm + ' existing note * notesource results for identical taxa in CDM_EM2PESI DO NOT exist in EM2PESI')
-	/*
-		SELECT bm_t.Fullname, cdm_n.Note_1, cdm_n.Note_2, cdm_n.NoteCategoryCache, cdm_n.LanguageCache,
-		cdm_n.SpeciesExpertName, cdm_n.LastAction, cdm_n.LastActionDate, cdm_ns.SourceNameCache, cdm_ns.SourceDetail,
-		'in CDM_EM2PESI but not in EM2PESI'
-		FROM [CDM_EM2PESI].[DBO].Note cdm_n INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t ON cdm_n.TaxonFk = cdm_t.TaxonId LEFT OUTER JOIN
-		[CDM_EM2PESI].[DBO].NoteSource cdm_ns ON cdm_ns.NoteFk = cdm_n.NoteId INNER JOIN
-		[EM2PESI].[DBO].TAXON bm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE NOT EXISTS
-		(SELECT * FROM [EM2PESI].[DBO].Note LEFT OUTER JOIN [EM2PESI].[DBO].NoteSource
-		ON [EM2PESI].[DBO].Note.NoteId = [EM2PESI].[DBO].NoteSource.NoteFk
-		WHERE TaxonFk = bm_t.TaxonId 
-		AND ISNULL(Note_1,'') = ISNULL(cdm_n.Note_1,'')
-		AND ISNULL(Note_2,'') = ISNULL(cdm_n.Note_2,'')
-		AND ISNULL(NoteCategoryCache,'') = ISNULL(cdm_n.NoteCategoryCache,'')
-		AND ISNULL(LanguageCache,'') = ISNULL(cdm_n.LanguageCache,'')
-		AND ISNULL(SpeciesExpertName,'') = ISNULL(cdm_n.SpeciesExpertName,'')
-		AND ISNULL(LastAction,'') = ISNULL(cdm_n.LastAction,'')
-		AND LEFT(ISNULL(LastActionDate,'00:00:00'),18) = LEFT(ISNULL(cdm_n.LastActionDate,'00:00:00'),18)
-		AND ISNULL(SourceNameCache,'') = ISNULL(cdm_ns.SourceNameCache,'')
-		AND ISNULL(SourceDetail,'') = ISNULL(cdm_ns.SourceDetail,'')
-		)
-		ORDER BY cdm_n.NoteCategoryFk, cdm_t.Fullname,cdm_n.Note_1
-		
-	*/
-		IF @n_cdm = 0 AND @n_bm = 0 BEGIN
-			PRINT ('All note * notesource results are identical in both databases')
-		END
-
-------------------------------------------- Occurrence -------------------------------
-	PRINT ' '
-	PRINT 'OCCURRENCES'
-	
-	SELECT @n_bm = COUNT(*) FROM [EM2PESI].[DBO].Occurrence LEFT OUTER JOIN
-		[EM2PESI].[DBO].OccurrenceSource ON OccurrenceFk = OccurrenceId
-	SELECT @n_cdm = COUNT(*) FROM [CDM_EM2PESI].[DBO].Occurrence LEFT OUTER JOIN
-		[CDM_EM2PESI].[DBO].OccurrenceSource ON OccurrenceFk = OccurrenceId
-	SET @n = @n_bm - @n_cdm
-
-	SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-	SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-	SET @str_n = Cast(@n AS NVARCHAR)
-
-	IF @n = 0 BEGIN
-		PRINT ('Both databases have the same number of occurrence * occurrencesource results = ' + @str_n_bm)
-	END ELSE PRINT ('WARNING: Both databases DO NOT have the same number of occurrence * occurrencesource results, n_bm = ' + @str_n_bm + ' and n_cdm = '+ @str_n_cdm)
-
-		SELECT @n_bm = COUNT(*) -- occurrence * occurrencesource results only in EM2PESI
-			FROM [EM2PESI].[DBO].Occurrence bm_o INNER JOIN
-			[EM2PESI].[DBO].TAXON bm_t ON bm_o.TaxonFk = bm_t.TaxonId LEFT OUTER JOIN
-			[EM2PESI].[DBO].OccurrenceSource bm_os ON bm_os.OccurrenceFk = bm_o.OccurrenceId INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t
-			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-			WHERE NOT EXISTS
-			(SELECT * FROM [CDM_EM2PESI].[DBO].Occurrence LEFT OUTER JOIN [CDM_EM2PESI].[DBO].OccurrenceSource
-			ON [CDM_EM2PESI].[DBO].Occurrence.OccurrenceId = [CDM_EM2PESI].[DBO].OccurrenceSource.OccurrenceFk
-			WHERE TaxonFk = cdm_t.TaxonId 
-				AND ISNULL(TaxonFullNameCache,'') = ISNULL(bm_o.TaxonFullNameCache,'')
-				AND ISNULL(AreaNameCache,'') = ISNULL(bm_o.AreaNameCache,'')
-				AND ISNULL(OccurrenceStatusCache,'') = ISNULL(bm_o.OccurrenceStatusCache,'')
-				AND ISNULL(Notes,'') = ISNULL(bm_o.Notes,'')
-				AND ISNULL(SpeciesExpertName,'') = ISNULL(bm_o.SpeciesExpertName,'')
-				AND ISNULL(LastAction,'') = ISNULL(bm_o.LastAction,'')
-				AND ISNULL(LastActionDate,'00:00:00') = ISNULL(bm_o.LastActionDate,'00:00:00')
-				AND ISNULL(SourceNameCache,'') = ISNULL(bm_os.SourceNameCache,'')
-				AND ISNULL(OldTaxonName,'') = ISNULL(bm_os.OldTaxonName,'')
-			)
-		SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
-		IF @n_bm = 0 BEGIN
-			PRINT ('All occurrence * occurrencesource results in EM2PESI exist also in CDM_EM2PESI')
-		END ELSE PRINT ('WARNING: ' + @str_n_bm + ' existing occurrence * occurrencesource results for identical taxa in EM2PESI DO NOT exist in CDM_EM2PESI')
-	/*
-		SELECT cdm_t.TaxonId as cdmTID, bm_t.TaxonId bmTID, bm_t.Fullname, bm_o.TaxonFullNameCache, bm_o.AreaNameCache, bm_o.OccurrenceStatusCache, bm_o.Notes,
-		bm_o.SpeciesExpertName, bm_o.LastAction, bm_o.LastActionDate, bm_os.SourceNameCache, bm_os.OldTaxonName,
-		'in EM2PESI but not in CDM_EM2PESI'
-		FROM [EM2PESI].[DBO].Occurrence bm_o INNER JOIN
-		[EM2PESI].[DBO].TAXON bm_t ON bm_o.TaxonFk = bm_t.TaxonId LEFT OUTER JOIN
-		[EM2PESI].[DBO].OccurrenceSource bm_os ON bm_os.OccurrenceFk = bm_o.OccurrenceId INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE NOT EXISTS
-		(SELECT * FROM [CDM_EM2PESI].[DBO].Occurrence LEFT OUTER JOIN [CDM_EM2PESI].[DBO].OccurrenceSource
-		ON [CDM_EM2PESI].[DBO].Occurrence.OccurrenceId = [CDM_EM2PESI].[DBO].OccurrenceSource.OccurrenceFk
-		WHERE TaxonFk = cdm_t.TaxonId 
-		AND ISNULL(TaxonFullNameCache,'') = ISNULL(bm_o.TaxonFullNameCache,'')
-		AND ISNULL(AreaNameCache,'') = ISNULL(bm_o.AreaNameCache,'')
-		AND ISNULL(OccurrenceStatusCache,'') = ISNULL(bm_o.OccurrenceStatusCache,'')
-		AND ISNULL(Notes,'') = ISNULL(bm_o.Notes,'')
-		AND ISNULL(SpeciesExpertName,'') = ISNULL(bm_o.SpeciesExpertName,'')
-		AND ISNULL(LastAction,'') = ISNULL(bm_o.LastAction,'')
-		AND ISNULL(LastActionDate,'00:00:00') = ISNULL(bm_o.LastActionDate,'00:00:00')
-		AND ISNULL(SourceNameCache,'') = ISNULL(bm_os.SourceNameCache,'')
-		AND ISNULL(OldTaxonName,'') = ISNULL(bm_os.OldTaxonName,'')
-		)
-		ORDER BY bm_t.Fullname, AreaNameCache 
-	*/
-		SELECT @n_cdm = COUNT(*) -- occurrence * occurrencesource results only in CDM_EM2PESI
-			FROM [CDM_EM2PESI].[DBO].Occurrence cdm_o INNER JOIN
-			[CDM_EM2PESI].[DBO].TAXON cdm_t ON cdm_o.TaxonFk = cdm_t.TaxonId LEFT OUTER JOIN
-			[CDM_EM2PESI].[DBO].OccurrenceSource cdm_os ON cdm_os.OccurrenceFk = cdm_o.OccurrenceId INNER JOIN
-			[EM2PESI].[DBO].TAXON bm_t
-			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-			WHERE NOT EXISTS
-			(SELECT * FROM [EM2PESI].[DBO].Occurrence LEFT OUTER JOIN [EM2PESI].[DBO].OccurrenceSource
-			ON [EM2PESI].[DBO].Occurrence.OccurrenceId = [EM2PESI].[DBO].OccurrenceSource.OccurrenceFk
-			WHERE TaxonFk = bm_t.TaxonId 
-				AND ISNULL(TaxonFullNameCache,'') = ISNULL(cdm_o.TaxonFullNameCache,'')
-				AND ISNULL(AreaNameCache,'') = ISNULL(cdm_o.AreaNameCache,'')
-				AND ISNULL(OccurrenceStatusCache,'') = ISNULL(cdm_o.OccurrenceStatusCache,'')
-				AND ISNULL(Notes,'') = ISNULL(cdm_o.Notes,'')
-				AND ISNULL(SpeciesExpertName,'') = ISNULL(cdm_o.SpeciesExpertName,'')
-				AND ISNULL(LastAction,'') = ISNULL(cdm_o.LastAction,'')
-				AND ISNULL(LastActionDate,'00:00:00') = ISNULL(cdm_o.LastActionDate,'00:00:00')
-				AND ISNULL(SourceNameCache,'') = ISNULL(cdm_os.SourceNameCache,'')
-				AND ISNULL(OldTaxonName,'') = ISNULL(cdm_os.OldTaxonName,'')
-			)
-		SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
-		IF @n_cdm = 0 BEGIN
-			PRINT ('All occurrence * occurrencesource results in CDM_EM2PESI exist also in EM2PESI')
-		END ELSE PRINT ('WARNING: ' + @str_n_cdm + ' existing occurrence * occurrencesource results for identical taxa in CDM_EM2PESI DO NOT exist in EM2PESI')
-	/*
-		SELECT cdm_t.TaxonId as cdmTID, bm_t.TaxonId bmTID, cdm_t.Fullname, cdm_o.TaxonFullNameCache, cdm_o.AreaNameCache, cdm_o.OccurrenceStatusCache, cdm_o.Notes,
-		cdm_o.SpeciesExpertName, cdm_o.LastAction, cdm_o.LastActionDate, cdm_os.SourceNameCache, cdm_os.OldTaxonName,
-		'in CDM_EM2PESI but not in EM2PESI'
-		FROM [CDM_EM2PESI].[DBO].Occurrence cdm_o INNER JOIN
-		[CDM_EM2PESI].[DBO].TAXON cdm_t ON cdm_o.TaxonFk = cdm_t.TaxonId LEFT OUTER JOIN
-		[CDM_EM2PESI].[DBO].OccurrenceSource cdm_os ON cdm_os.OccurrenceFk = cdm_o.OccurrenceId INNER JOIN
-		[EM2PESI].[DBO].TAXON bm_t
-		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
-		WHERE NOT EXISTS
-		(SELECT * FROM [EM2PESI].[DBO].Occurrence LEFT OUTER JOIN [EM2PESI].[DBO].OccurrenceSource
-		ON [EM2PESI].[DBO].Occurrence.OccurrenceId = [EM2PESI].[DBO].OccurrenceSource.OccurrenceFk
-		WHERE TaxonFk = bm_t.TaxonId 
-		AND ISNULL(TaxonFullNameCache,'') = ISNULL(cdm_o.TaxonFullNameCache,'')
-		AND ISNULL(AreaNameCache,'') = ISNULL(cdm_o.AreaNameCache,'')
-		AND ISNULL(OccurrenceStatusCache,'') = ISNULL(cdm_o.OccurrenceStatusCache,'')
-		AND ISNULL(Notes,'') = ISNULL(cdm_o.Notes,'')
-		AND ISNULL(SpeciesExpertName,'') = ISNULL(cdm_o.SpeciesExpertName,'')
-		AND ISNULL(LastAction,'') = ISNULL(cdm_o.LastAction,'')
-		AND ISNULL(LastActionDate,'00:00:00') = ISNULL(cdm_o.LastActionDate,'00:00:00')
-		AND ISNULL(SourceNameCache,'') = ISNULL(cdm_os.SourceNameCache,'')
-		AND ISNULL(OldTaxonName,'') = ISNULL(cdm_os.OldTaxonName,'')
-		)
-		ORDER BY bm_t.Fullname, AreaNameCache 
-	*/
-		IF @n_cdm = 0 AND @n_bm = 0 BEGIN
-			PRINT ('All occurrence * occurrencesource results are identical in both databases')
-		END
-
-
-	PRINT ('End of check')
-
-
-END
\ No newline at end of file
diff --git a/cdm-pesi/src/test/resources/sql/Check_Import_Master.sql b/cdm-pesi/src/test/resources/sql/Check_Import_Master.sql
new file mode 100644
index 00000000..da8b4052
--- /dev/null
+++ b/cdm-pesi/src/test/resources/sql/Check_Import_Master.sql
@@ -0,0 +1,1207 @@
+BEGIN
+
+	DECLARE @n INT
+	DECLARE @n_cdm INT
+	DECLARE @n_bm INT
+	DECLARE @str_n NVARCHAR (7)
+	DECLARE @str_n_cdm NVARCHAR (7)
+	DECLARE @str_n_bm NVARCHAR (7)
+
+
+------------------------------------------- Taxon -------------------------------
+
+	SELECT @n_bm = COUNT(*) FROM [EM2PESI].[DBO].TAXON
+	SELECT @n_cdm = COUNT(*) FROM [CDM_EM2PESI].[DBO].TAXON
+	SET @n = @n_bm - @n_cdm
+
+	SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
+	SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
+	SET @str_n = Cast(@n AS NVARCHAR)
+
+	IF @n = 0 BEGIN
+		PRINT ('Both databases have the same number of taxa = ' + @str_n_bm)
+	END ELSE PRINT ('WARNING: Both databases DO NOT have the same number of taxa, n_bm = ' + @str_n_bm + ' and n_cdm = '+ @str_n_cdm)
+	SELECT @n = COUNT(*)
+		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+		[CDM_EM2PESI].[DBO].TAXON cdm_t
+		ON (bm_t.IdInSource = cdm_t.IdInSource OR bm_t.IdInSource IS NULL AND cdm_t.IdInSource IS NULL) 
+		    AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+	SET @str_n = Cast(@n AS NVARCHAR)
+	IF @n = @n_bm BEGIN
+		PRINT ('To each taxon from one database there is an identical taxon in the other one (IdInSource, GUID)')
+	END ELSE PRINT ('WARNING: Only ' + @str_n + ' taxa are identical (IdInSource, GUID) in both databases')
+
+		/*
+	SELECT cdm_t.Fullname, cdm_t.IdInSource, cdm_t.GUID, 'in CDM_EM2PESI but not in EM2PESI'
+	FROM [CDM_EM2PESI].[DBO].TAXON cdm_t
+	WHERE NOT EXISTS
+		(SELECT * FROM [EM2PESI].[DBO].TAXON WHERE (IdInSource = cdm_t.IdInSource OR IdInSource IS NULL AND cdm_t.IdInSource IS NULL)
+		AND ISNULL(GUID, '') = ISNULL(cdm_t.GUID, ''))
+	ORDER BY cdm_t.IdInSource
+
+	SELECT bm_t.Fullname, bm_t.IdInSource, bm_t.GUID, 'in EM2PESI but not in CDM_EM2PESI'
+	FROM [EM2PESI].[DBO].TAXON bm_t
+	WHERE NOT EXISTS
+		(SELECT * FROM [CDM_EM2PESI].[DBO].TAXON WHERE (IdInSource = bm_t.IdInSource OR IdInSource IS NULL AND bm_t.IdInSource IS NULL)
+		AND ISNULL(GUID, '') = ISNULL(bm_t.GUID, ''))
+	ORDER BY bm_t.IdInSource
+
+	*/
+
+-- Source
+/* Does not make much sense since the source for taxa is almost always the database itself which must be created as source
+	SELECT @n_bm = COUNT(*) FROM [EM2PESI].[DBO].TAXON WHERE SourceFk IS NOT NULL
+	SELECT @n_cdm = COUNT(*) FROM [CDM_EM2PESI].[DBO].TAXON WHERE SourceFk IS NOT NULL
+	SET @n = @n_bm - @n_cdm
+
+	SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
+	SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
+	SET @str_n = Cast(@n AS NVARCHAR)
+
+	IF @n = 0 BEGIN
+		PRINT ('Both databases have the same number of taxa which have a source = ' + @str_n_bm)
+	END ELSE PRINT ('WARNING: Both databases DO NOT have the same number of taxa that have a source, n_bm = ' + @str_n_bm + ' and n_cdm = '+ @str_n_cdm)
+
+		SELECT @n = COUNT(*) -- in both databases sources exist but are different
+			FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+			[CDM_EM2PESI].[DBO].TAXON cdm_t
+			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
+			[EM2PESI].[DBO].SOURCE bm_s ON bm_t.SourceFk = bm_s.SourceId INNER JOIN
+			[CDM_EM2PESI].[DBO].TAXON cdm_s ON cdm_t.SourceFk = cdm_s.SourceId
+			WHERE bm_s.RefIdInSource <> cdm_s.RefIdInSource OR ISNULL(bm_s.OriginalDB, '') <> ISNULL(cdm_s.OriginalDB, '')
+		SET @str_n = Cast(@n AS NVARCHAR)
+		IF @n = 0 BEGIN
+			PRINT ('All identical taxa that have sources have the same source')
+		END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa have different sources')
+	/-*
+		SELECT cdm_t.Fullname, cdm_s.RefIdInSource as Source_CDM_EM2PESI, bm_s.RefIdInSource as Source_EM2PESI
+		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+		[CDM_EM2PESI].[DBO].TAXON cdm_t
+		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
+		[EM2PESI].[DBO].SOURCE bm_s ON bm_t.SourceFk = bm_s.SourceId INNER JOIN
+		[CDM_EM2PESI].[DBO].TAXON cdm_s ON cdm_t.SourceFk = cdm_s.SourceId
+		WHERE bm_s.RefIdInSource <> cdm_s.RefIdInSource OR ISNULL(bm_s.OriginalDB, '') <> ISNULL(cdm_s.OriginalDB, '')
+	*-/
+		SELECT @n_bm = COUNT(*) -- taxa with source only in EM2PESI
+			FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+			[CDM_EM2PESI].[DBO].TAXON cdm_t
+			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
+			[EM2PESI].[DBO].SOURCE bm_s ON bm_t.SourceFk = bm_s.SourceId
+			WHERE NOT EXISTS
+				(SELECT * FROM [CDM_EM2PESI].[DBO].TAXON INNER JOIN
+				[CDM_EM2PESI].[DBO].TAXON cdm_s ON SourceFk = SourceId
+				WHERE cdm_s.RefIdInSource = bm_s.RefIdInSource AND cdm_s.OriginalDB = bm_s.OriginalDB
+				AND IdInSource = bm_t.IdInSource AND ISNULL(GUID, '') = ISNULL(bm_t.GUID, ''))
+		SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
+		IF @n_bm > 0 PRINT ('WARNING: ' + @str_n_bm + ' taxa have sources in EM2PESI but not in CDM_EM2PESI')
+	/-*
+		SELECT cdm_t.Fullname, bm_s.Fullname as source_EM2PESI, 'in EM2PESI but not in CDM_EM2PESI'
+		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+		[CDM_EM2PESI].[DBO].TAXON cdm_t
+		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
+		[EM2PESI].[DBO].SOURCE bm_s ON bm_t.SourceFk = bm_s.SourceId
+		WHERE NOT EXISTS
+		(SELECT * FROM [CDM_EM2PESI].[DBO].TAXON INNER JOIN
+		[CDM_EM2PESI].[DBO].TAXON cdm_s ON SourceFk = SourceId
+		WHERE cdm_s.RefIdInSource = bm_s.RefIdInSource AND cdm_s.OriginalDB = bm_s.OriginalDB
+		AND IdInSource = bm_t.IdInSource AND ISNULL(GUID, '') = ISNULL(bm_t.GUID, ''))
+	*-/
+		SELECT @n_cdm = COUNT(*) -- taxa with source only in CDM_EM2PESI
+			FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+			[CDM_EM2PESI].[DBO].TAXON cdm_t
+			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
+			[CDM_EM2PESI].[DBO].SOURCE cdm_s ON cdm_t.SourceFk = cdm_s.SourceId
+			WHERE NOT EXISTS
+				(SELECT * FROM [EM2PESI].[DBO].TAXON INNER JOIN
+				[EM2PESI].[DBO].TAXON bm_s ON SourceFk = SourceId
+				WHERE cdm_s.RefIdInSource = bm_s.RefIdInSource AND cdm_s.OriginalDB = bm_s.OriginalDB
+				AND IdInSource = cdm_t.IdInSource AND ISNULL(GUID, '') = ISNULL(cdm_t.GUID, ''))
+		SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
+		IF @n_cdm > 0 PRINT ('WARNING: ' + @str_n_cdm + ' taxa have sources in CDM_EM2PESI but not in EM2PESI')
+	/-*
+		SELECT cdm_t.Fullname, cdm_s.Fullname as source_CDM_EM2PESI, 'in CDM_EM2PESI but not in EM2PESI'
+		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+		[CDM_EM2PESI].[DBO].TAXON cdm_t
+		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
+		[CDM_EM2PESI].[DBO].SOURCE cdm_s ON bm_t.SourceFk = cdm_s.SourceId
+		(SELECT * FROM [EM2PESI].[DBO].TAXON INNER JOIN
+		[EM2PESI].[DBO].TAXON bm_s ON SourceFk = SourceId
+		WHERE cdm_s.RefIdInSource = bm_s.RefIdInSource AND cdm_s.OriginalDB = bm_s.OriginalDB
+		AND IdInSource = cdm_t.IdInSource AND ISNULL(GUID, '') = ISNULL(cdm_t.GUID, ''))
+	*-/
+		IF @n = 0 AND @n_cdm = 0 AND @n_bm = 0 BEGIN
+			PRINT ('All identical taxa have the same source')
+		END
+
+*/
+
+-- Authors
+	SELECT @n = COUNT(*)
+		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+		CDM_EM2PESI.[DBO].TAXON cdm_t
+		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+		WHERE ISNULL(bm_t.AuthorString, '') <> ISNULL(cdm_t.AuthorString, '')
+	SET @str_n = Cast(@n AS NVARCHAR)
+	IF @n = 0 BEGIN
+		PRINT ('All identical taxa have the same authors')
+	END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa DO NOT have the same authors')
+
+	/*
+		SELECT cdm_t.TaxonId as ID_CDM, bm_t.TaxonId as ID_SQL, cdm_t.FullName as FullName_CDM, bm_t.FullName as FullName_SQL,
+			cdm_t.AuthorString as AuthorString_CDM, bm_t.AuthorString as AuthorString_SQL
+		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+		CDM_EM2PESI.[DBO].TAXON cdm_t
+		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+		WHERE ISNULL(bm_t.AuthorString, '') <> ISNULL(cdm_t.AuthorString, '')
+	*/
+
+-- Epithets
+	SELECT @n = COUNT(*)
+		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+		[CDM_EM2PESI].[DBO].TAXON cdm_t
+		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+		WHERE ISNULL(bm_t.GenusOrUninomial, '') <> ISNULL(cdm_t.GenusOrUninomial, '') OR
+		ISNULL(bm_t.InfraGenericEpithet, '') <> ISNULL(cdm_t.InfraGenericEpithet, '') OR
+		ISNULL(bm_t.SpecificEpithet, '') <> ISNULL(cdm_t.SpecificEpithet, '') OR
+		ISNULL(bm_t.InfraSpecificEpithet, '') <> ISNULL(cdm_t.InfraSpecificEpithet, '')
+	SET @str_n = Cast(@n AS NVARCHAR)
+	IF @n = 0 BEGIN
+		PRINT ('All identical taxa have the same epithets')
+	END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa DO NOT have the same epithets')
+
+	/*
+	SELECT  cdm_t.GenusOrUninomial as Genus_CDM, bm_t.GenusOrUninomial as Genus_SQL,
+			cdm_t.InfraGenericEpithet as Infragenus_CDM, bm_t.InfraGenericEpithet as Infragenus_SQL,
+			cdm_t.SpecificEpithet  as SpecificEpithet_CDM, bm_t.SpecificEpithet as SpecificEpithet_SQL,
+			cdm_t.InfraSpecificEpithet as Infraspec_CDM, bm_t.InfraSpecificEpithet as Infraspec_SQL
+		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+		CDM_EM2PESI.[DBO].TAXON cdm_t
+		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+		WHERE ISNULL(bm_t.GenusOrUninomial, '') <> ISNULL(cdm_t.GenusOrUninomial, '') OR
+		ISNULL(bm_t.InfraGenericEpithet, '') <> ISNULL(cdm_t.InfraGenericEpithet, '') OR
+		ISNULL(bm_t.SpecificEpithet, '') <> ISNULL(cdm_t.SpecificEpithet, '') OR
+		ISNULL(bm_t.InfraSpecificEpithet, '') <> ISNULL(cdm_t.InfraSpecificEpithet, '')
+	*/
+
+-- Names
+	SELECT @n = COUNT(*)
+		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+		[CDM_EM2PESI].[DBO].TAXON cdm_t
+		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+		WHERE ISNULL(bm_t.WebSearchName, '') <> ISNULL(cdm_t.WebSearchName, '') OR
+		ISNULL(bm_t.WebShowName, '') <> ISNULL(cdm_t.WebShowName, '') OR
+		ISNULL(bm_t.DisplayName, '') <> ISNULL(cdm_t.DisplayName, '')
+	SET @str_n = Cast(@n AS NVARCHAR)
+	IF @n = 0 BEGIN
+		PRINT ('All identical taxa have the same scientific name')
+	END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa DO NOT have the same scientific name')
+	/*
+	SELECT cdm_t.WebSearchName as WebSearchName_CDM_EM2PESI, bm_t.WebSearchName as WebSearchName_EM2PESI,
+		cdm_t.WebShowName as WebShowName_CDM_EM2PESI, bm_t.WebShowName as WebShowName_EM2PESI,
+		cdm_t.FullName as FullName_CDM_EM2PESI, bm_t.FullName as FullName_EM2PESI,
+		cdm_t.NomRefString as NomRefString_CDM_EM2PESI, bm_t.NomRefString as NomRefString_EM2PESI,
+		cdm_t.DisplayName as DisplayName_CDM_EM2PESI, bm_t.DisplayName as DisplayName_EM2PESI,
+		cdm_t.GUID as GUID_CDM, bm_t.GUID as GUID_SQL
+	FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+	CDM_EM2PESI.[DBO].TAXON cdm_t
+	ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+	WHERE ISNULL(bm_t.WebSearchName, '') <> ISNULL(cdm_t.WebSearchName, '') OR
+		ISNULL(bm_t.WebShowName, '') <> ISNULL(cdm_t.WebShowName, '') OR
+		ISNULL(bm_t.DisplayName, '') <> ISNULL(cdm_t.DisplayName, '')
+	*/
+
+-- Full Name
+	SELECT @n = COUNT(*)
+		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+		CDM_EM2PESI.[DBO].TAXON cdm_t
+		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+		WHERE ISNULL(bm_t.FullName, '') <> ISNULL(cdm_t.FullName, '')
+	SET @str_n = Cast(@n AS NVARCHAR)
+	IF @n = 0 BEGIN
+		PRINT ('All identical taxa have the same full name')
+	END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa DO NOT have the same full name')
+
+/*
+	SELECT cdm_t.FullName as FullName_CDM_EM2PESI, bm_t.FullName as FullName_EM2PESI,
+		cdm_t.WebSearchName as WebSearchName_CDM_EM2PESI, bm_t.WebSearchName as WebSearchName_EM2PESI,
+		cdm_t.WebShowName as WebShowName_CDM_EM2PESI, bm_t.WebShowName as WebShowName_EM2PESI,
+		cdm_t.FullName as FullName_CDM_EM2PESI, bm_t.FullName as FullName_EM2PESI,
+		cdm_t.NomRefString as NomRefString_CDM_EM2PESI, bm_t.NomRefString as NomRefString_EM2PESI,
+		cdm_t.DisplayName as DisplayName_CDM_EM2PESI, bm_t.DisplayName as DisplayName_EM2PESI,
+		cdm_t.GUID as GUID_CDM, bm_t.GUID as GUID_SQL
+	FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+		CDM_EM2PESI.[DBO].TAXON cdm_t
+		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+	WHERE ISNULL(bm_t.FullName, '') <> ISNULL(cdm_t.FullName, '')
+	ORDER BY cdm_t.FullName
+	*/
+
+-- Nom Ref
+
+	SELECT @n = COUNT(*)
+		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+		CDM_EM2PESI.[DBO].TAXON cdm_t
+		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+		WHERE ISNULL(bm_t.NomRefString, '') <> ISNULL(cdm_t.NomRefString, '')
+	SET @str_n = Cast(@n AS NVARCHAR)
+	IF @n = 0 BEGIN
+		PRINT ('All identical taxa have the same nomenclatural reference')
+	END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa DO NOT have the same nomenclatural reference')
+	/*
+	SELECT cdm_t.FullName as FullName_CDM_EM2PESI, bm_t.FullName as FullName_EM2PESI,
+		cdm_t.NomRefString as NomRefString_CDM_EM2PESI, bm_t.NomRefString as NomRefString_EM2PESI,
+		cdm_t.DisplayName as DisplayName_CDM_EM2PESI, bm_t.DisplayName as DisplayName_EM2PESI,
+		cdm_t.GUID as GUID_CDM, bm_t.GUID as GUID_SQL
+	FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+		CDM_EM2PESI.[DBO].TAXON cdm_t
+	ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+	WHERE ISNULL(bm_t.NomRefString, '') <> ISNULL(cdm_t.NomRefString, '')
+	ORDER BY cdm_t.NomRefString
+	*/
+
+-- Ranks
+	SELECT @n = COUNT(*)
+		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+		[CDM_EM2PESI].[DBO].TAXON cdm_t
+		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+		WHERE ISNULL(bm_t.KingdomFk, 0) <> ISNULL(cdm_t.KingdomFk, 0) OR
+		ISNULL(bm_t.RankFk, 0) <> ISNULL(cdm_t.RankFk, 0) OR
+		ISNULL(bm_t.RankCache, '') <> ISNULL(cdm_t.RankCache, '')
+	SET @str_n = Cast(@n AS NVARCHAR)
+	IF @n = 0 BEGIN
+		PRINT ('All identical taxa have the same rank (KingdomFk, RankFk, RankCache)')
+	END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa DO NOT have the same rank (KingdomFk, RankFk, RankCache)')
+	/*
+	SELECT cdm_t.Fullname, cdm_t.KingdomFk as Kingdom_CDM_EM2PESI, bm_t.KingdomFk as Kingdom_EM2PESI,
+	cdm_t.RankFk as RankFk_CDM_EM2PESI, bm_t.RankFk as RankFk_EM2PESI,
+	cdm_t.RankCache as Rank_CDM_EM2PESI, bm_t.RankCache as Rank_EM2PESI
+	FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+	[CDM_EM2PESI].[DBO].TAXON cdm_t
+	ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+	WHERE ISNULL(bm_t.KingdomFk, 0) <> ISNULL(cdm_t.KingdomFk, 0) OR
+	ISNULL(bm_t.RankFk, 0) <> ISNULL(cdm_t.RankFk, 0) OR
+	ISNULL(bm_t.RankCache, '') <> ISNULL(cdm_t.RankCache, '')
+	*/
+
+-- Status
+	SELECT @n = COUNT(*)
+		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+		[CDM_EM2PESI].[DBO].TAXON cdm_t
+		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+		WHERE ISNULL(bm_t.NameStatusCache, '') <> ISNULL(cdm_t.NameStatusCache, '') OR
+		ISNULL(bm_t.TaxonStatusCache, '') <> ISNULL(cdm_t.TaxonStatusCache, '')
+	SET @str_n = Cast(@n AS NVARCHAR)
+	IF @n = 0 BEGIN
+		PRINT ('All identical taxa have the same status (NameStatusCache, TaxonStatusCache)')
+	END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa DO NOT have the same status (NameStatusCache, TaxonStatusCache)')
+	/*
+	SELECT cdm_t.Fullname, cdm_t.NameStatusFk as NameStatusFk_CDM_EM2PESI, bm_t.NameStatusFk as NameStatusFk_EM2PESI,
+	cdm_t.NameStatusCache as NameStatus_CDM_EM2PESI, bm_t.NameStatusCache as NameStatus_EM2PESI,
+	cdm_t.TaxonStatusFk as TaxonStatusFk_CDM_EM2PESI, bm_t.TaxonStatusFk as TaxonStatusFk_EM2PESI,
+	cdm_t.TaxonStatusCache as TaxonStatus_CDM_EM2PESI, bm_t.TaxonStatusCache as TaxonStatus_EM2PESI
+	FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+	[CDM_EM2PESI].[DBO].TAXON cdm_t
+	ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+	WHERE ISNULL(bm_t.NameStatusCache, '') <> ISNULL(cdm_t.NameStatusCache, '') OR
+	ISNULL(bm_t.TaxonStatusCache, '') <> ISNULL(cdm_t.TaxonStatusCache, '')
+	*/
+
+-- Types
+	SELECT @n_bm = COUNT(*) FROM [EM2PESI].[DBO].TAXON WHERE TypeNameFk IS NOT NULL
+	SELECT @n_cdm = COUNT(*) FROM [CDM_EM2PESI].[DBO].TAXON WHERE TypeNameFk IS NOT NULL
+	SET @n = @n_bm - @n_cdm
+
+	SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
+	SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
+	SET @str_n = Cast(@n AS NVARCHAR)
+
+	IF @n = 0 BEGIN
+		PRINT ('Both databases have the same number of taxa which have a type = ' + @str_n_bm)
+	END ELSE PRINT ('WARNING: Both databases DO NOT have the same number of taxa that have a type, n_bm = ' + @str_n_bm + ' and n_cdm = '+ @str_n_cdm)
+
+		SELECT @n = COUNT(*) -- in both databases types exist but are different
+			FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+			[CDM_EM2PESI].[DBO].TAXON cdm_t
+			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
+			[EM2PESI].[DBO].TAXON bm_pt ON bm_t.TypeNameFk = bm_pt.TaxonId INNER JOIN
+			[CDM_EM2PESI].[DBO].TAXON cdm_pt ON cdm_t.TypeNameFk = cdm_pt.TaxonId
+			WHERE bm_pt.IdInSource <> cdm_pt.IdInSource OR ISNULL(bm_pt.GUID, '') <> ISNULL(cdm_pt.GUID, '')
+		SET @str_n = Cast(@n AS NVARCHAR)
+		IF @n = 0 BEGIN
+			PRINT ('All identical taxa that have types have the same type')
+		END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa have different types')
+	/*
+		SELECT cdm_t.Fullname, cdm_pt.Fullname as Type_CDM_EM2PESI, bm_pt.Fullname as Type_EM2PESI
+		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+		[CDM_EM2PESI].[DBO].TAXON cdm_t
+		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
+		[EM2PESI].[DBO].TAXON bm_pt ON bm_t.TypeNameFk = bm_pt.TaxonId INNER JOIN
+		[CDM_EM2PESI].[DBO].TAXON cdm_pt ON cdm_t.TypeNameFk = cdm_pt.TaxonId
+		WHERE bm_pt.IdInSource <> cdm_pt.IdInSource OR ISNULL(bm_pt.GUID, '') <> ISNULL(cdm_pt.GUID, '')
+		ORDER BY cdm_t.Fullname
+	*/
+		SELECT @n_bm = COUNT(*) -- taxa with type only in EM2PESI
+			FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+			[CDM_EM2PESI].[DBO].TAXON cdm_t
+			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
+			[EM2PESI].[DBO].TAXON bm_pt ON bm_t.TypeNameFk = bm_pt.TaxonId
+			WHERE NOT EXISTS
+				(SELECT * FROM [CDM_EM2PESI].[DBO].TAXON
+				WHERE IdInSource = bm_pt.IdInSource AND ISNULL(GUID, '') = ISNULL(bm_pt.GUID, ''))
+		SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
+		IF @n_bm > 0 PRINT ('WARNING: ' + @str_n_bm + ' identical taxa have types in EM2PESI but not in CDM_EM2PESI')
+	/*
+		SELECT cdm_t.Fullname, bm_pt.Fullname as Type_EM2PESI, 'in EM2PESI but not in CDM_EM2PESI'
+		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+		[CDM_EM2PESI].[DBO].TAXON cdm_t
+		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
+		[EM2PESI].[DBO].TAXON bm_pt ON bm_t.TypeNameFk = bm_pt.TaxonId
+		WHERE NOT EXISTS
+		(SELECT * FROM [CDM_EM2PESI].[DBO].TAXON
+		WHERE IdInSource = bm_pt.IdInSource AND ISNULL(GUID, '') = ISNULL(bm_pt.GUID, ''))
+		ORDER BY cdm_t.Fullname
+	*/
+		SELECT @n_cdm = COUNT(*) -- taxa with type only in CDM_EM2PESI
+			FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+			[CDM_EM2PESI].[DBO].TAXON cdm_t
+			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
+			[CDM_EM2PESI].[DBO].TAXON cdm_pt ON cdm_t.TypeNameFk = cdm_pt.TaxonId
+			WHERE NOT EXISTS
+				(SELECT * FROM [EM2PESI].[DBO].TAXON
+				WHERE IdInSource = cdm_pt.IdInSource AND ISNULL(GUID, '') = ISNULL(cdm_pt.GUID, ''))
+		SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
+		IF @n_cdm > 0 PRINT ('WARNING: ' + @str_n_cdm + ' identical taxa have types in CDM_EM2PESI but not in EM2PESI')
+	/*
+		SELECT cdm_t.Fullname, cdm_pt.Fullname as Type_CDM_EM2PESI, 'in CDM_EM2PESI but not in EM2PESI'
+		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+		[CDM_EM2PESI].[DBO].TAXON cdm_t
+		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
+		[CDM_EM2PESI].[DBO].TAXON cdm_pt ON cdm_t.TypeNameFk = cdm_pt.TaxonId
+		WHERE NOT EXISTS
+		(SELECT * FROM [EM2PESI].[DBO].TAXON
+		WHERE IdInSource = cdm_pt.IdInSource AND ISNULL(GUID, '') = ISNULL(cdm_pt.GUID, ''))
+	*/
+		IF @n = 0 AND @n_cdm = 0 AND @n_bm = 0 BEGIN
+			PRINT ('All identical taxa have the same type')
+		END
+
+-- QualityStatus
+	SELECT @n = COUNT(*)
+		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+		[CDM_EM2PESI].[DBO].TAXON cdm_t
+		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+		WHERE ISNULL(bm_t.QualityStatusCache, '') <> ISNULL(cdm_t.QualityStatusCache, '')
+	SET @str_n = Cast(@n AS NVARCHAR)
+	IF @n = 0 BEGIN
+		PRINT ('All identical taxa have the same quality status (QualityStatusCache)')
+	END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa DO NOT have the same quality status (QualityStatusCache)')
+	/*
+	SELECT cdm_t.Fullname, cdm_t.QualityStatusCache as QualityStatus_CDM_EM2PESI, bm_t.QualityStatusCache as QualityStatus_EM2PESI
+	FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+	[CDM_EM2PESI].[DBO].TAXON cdm_t
+	ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+	WHERE ISNULL(bm_t.QualityStatusCache, '') <> ISNULL(cdm_t.QualityStatusCache, '')
+	*/
+
+-- Experts
+	SELECT @n = COUNT(*)
+		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+		[CDM_EM2PESI].[DBO].TAXON cdm_t
+		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+		WHERE ISNULL(bm_t.ExpertName, '') <> ISNULL(cdm_t.ExpertName, '') OR
+		ISNULL(bm_t.SpeciesExpertName, '') <> ISNULL(cdm_t.SpeciesExpertName, '')
+	SET @str_n = Cast(@n AS NVARCHAR)
+	IF @n = 0 BEGIN
+		PRINT ('All identical taxa have the same experts (ExpertName, SpeciesExpertName)')
+	END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa DO NOT have the same experts (ExpertName, SpeciesExpertName)')
+	/*
+	SELECT cdm_t.Fullname, cdm_t.ExpertName as ExpertName_CDM_EM2PESI, bm_t.ExpertName as ExpertName_EM2PESI,
+	cdm_t.SpeciesExpertName as SpeciesExpertName_CDM_EM2PESI, bm_t.SpeciesExpertName as SpeciesExpertName_EM2PESI
+	FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+	[CDM_EM2PESI].[DBO].TAXON cdm_t
+	ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+	WHERE ISNULL(bm_t.ExpertName, '') <> ISNULL(cdm_t.ExpertName, '') OR
+	ISNULL(bm_t.SpeciesExpertName, '') <> ISNULL(cdm_t.SpeciesExpertName, '')
+	*/
+
+-- Citation
+	SELECT @n = COUNT(*)
+		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+		[CDM_EM2PESI].[DBO].TAXON cdm_t
+		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+		WHERE ISNULL(bm_t.CacheCitation, '') <> ISNULL(cdm_t.CacheCitation, '')
+	SET @str_n = Cast(@n AS NVARCHAR)
+	IF @n = 0 BEGIN
+		PRINT ('All identical taxa have the same CacheCitation')
+	END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa DO NOT have the same CacheCitation')
+	/*
+	SELECT cdm_t.Fullname, cdm_t.CacheCitation as CacheCitation_CDM_EM2PESI, bm_t.CacheCitation as CacheCitation_EM2PESI
+	FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+	[CDM_EM2PESI].[DBO].TAXON cdm_t
+	ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+	WHERE ISNULL(bm_t.CacheCitation, '') <> ISNULL(cdm_t.CacheCitation, '')
+	*/
+
+-- Original database
+	SELECT @n = COUNT(*)
+		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+		[CDM_EM2PESI].[DBO].TAXON cdm_t
+		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+		WHERE ISNULL(bm_t.OriginalDB, '') <> ISNULL(cdm_t.OriginalDB, '')
+	SET @str_n = Cast(@n AS NVARCHAR)
+	IF @n = 0 BEGIN
+		PRINT ('All identical taxa have the same OriginalDB')
+	END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa DO NOT have the same OriginalDB')
+	/*
+	SELECT cdm_t.Fullname, cdm_t.OriginalDB as OriginalDB_CDM_EM2PESI, bm_t.OriginalDB as OriginalDB_EM2PESI
+	FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+	[CDM_EM2PESI].[DBO].TAXON cdm_t
+	ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+	WHERE ISNULL(bm_t.OriginalDB, '') <> ISNULL(cdm_t.OriginalDB, '')
+	*/
+
+-- Action
+	SELECT @n = COUNT(*)
+		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+		[CDM_EM2PESI].[DBO].TAXON cdm_t
+		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+		WHERE ISNULL(bm_t.LastAction, '') <> ISNULL(cdm_t.LastAction, '') OR
+		convert(smalldatetime, ISNULL(bm_t.LastActionDate, '00:00:00'))  <>
+		convert(smalldatetime, ISNULL(cdm_t.LastActionDate, '00:00:00'))
+	SET @str_n = Cast(@n AS NVARCHAR)
+	IF @n = 0 BEGIN
+		PRINT ('All identical taxa have the same last actions (LastAction, LastActionDate)')
+	END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa DO NOT have the last actions (LastAction, LastActionDate)')
+	/*
+	SELECT cdm_t.Fullname, cdm_t.LastAction as LastAction_CDM_EM2PESI, bm_t.LastAction as LastAction_EM2PESI,
+	cdm_t.LastActionDate as LastActionDate_CDM_EM2PESI, bm_t.LastActionDate as LastActionDate_EM2PESI
+	FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+	[CDM_EM2PESI].[DBO].TAXON cdm_t
+	ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+	WHERE ISNULL(bm_t.LastAction, '') <> ISNULL(cdm_t.LastAction, '') OR
+	convert(smalldatetime, ISNULL(bm_t.LastActionDate, '00:00:00')) <>
+	convert(smalldatetime, ISNULL(cdm_t.LastActionDate, '00:00:00'))
+	*/
+
+
+	
+-- Parents
+
+	PRINT ' '
+	PRINT 'PARENTS'
+	SELECT @n_bm = COUNT(*) FROM [EM2PESI].[DBO].TAXON WHERE ParentTaxonFk IS NOT NULL
+	SELECT @n_cdm = COUNT(*) FROM [CDM_EM2PESI].[DBO].TAXON WHERE ParentTaxonFk IS NOT NULL
+	SET @n = @n_bm - @n_cdm
+
+	SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
+	SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
+	SET @str_n = Cast(@n AS NVARCHAR)
+
+	IF @n = 0 BEGIN
+		PRINT ('Both databases have the same number of taxa which have a parent = ' + @str_n_bm)
+	END ELSE PRINT ('WARNING: Both databases DO NOT have the same number of taxa that have a parent, n_bm = ' + @str_n_bm + ' and n_cdm = '+ @str_n_cdm)
+
+		SELECT @n = COUNT(*) -- in both databases parents exist but are different
+			FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+			[CDM_EM2PESI].[DBO].TAXON cdm_t
+			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
+			[EM2PESI].[DBO].TAXON bm_pt ON bm_t.ParentTaxonFk = bm_pt.TaxonId INNER JOIN
+			[CDM_EM2PESI].[DBO].TAXON cdm_pt ON cdm_t.ParentTaxonFk = cdm_pt.TaxonId
+			WHERE bm_pt.IdInSource <> cdm_pt.IdInSource OR ISNULL(bm_pt.GUID, '') <> ISNULL(cdm_pt.GUID, '')
+		SET @str_n = Cast(@n AS NVARCHAR)
+		IF @n = 0 BEGIN
+			PRINT ('All identical taxa that have parents have the same parent')
+		END ELSE PRINT ('WARNING: ' + @str_n + ' identical taxa have different parents')
+	/*
+		SELECT  cdm_t.FullName as Child_CDM, cdm_pt.Fullname as Parent_CDM_EM2PESI, bm_t.FullName as child_sql,  bm_pt.Fullname as Parent_EM2PESI
+		FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+			[CDM_EM2PESI].[DBO].TAXON cdm_t ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
+			[EM2PESI].[DBO].TAXON bm_pt ON bm_t.ParentTaxonFk = bm_pt.TaxonId INNER JOIN
+		[	CDM_EM2PESI].[DBO].TAXON cdm_pt ON cdm_t.ParentTaxonFk = cdm_pt.TaxonId
+		WHERE bm_pt.IdInSource <> cdm_pt.IdInSource OR ISNULL(bm_pt.GUID, '') <> ISNULL(cdm_pt.GUID, '')
+	*/
+		SELECT @n_bm = COUNT(*) -- taxa with parent only in EM2PESI
+			FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+			[CDM_EM2PESI].[DBO].TAXON cdm_t
+			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
+			[EM2PESI].[DBO].TAXON bm_pt ON bm_t.ParentTaxonFk = bm_pt.TaxonId
+			WHERE NOT EXISTS
+				(SELECT * FROM [CDM_EM2PESI].[DBO].TAXON
+				WHERE IdInSource = bm_pt.IdInSource AND ISNULL(GUID, '') = ISNULL(bm_pt.GUID, ''))
+		SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
+		IF @n_bm > 0 BEGIN 
+			PRINT ('WARNING: ' + @str_n_bm + ' identical taxa have parents in EM2PESI but not in CDM_EM2PESI')
+		END ELSE PRINT ('All identical taxa that have parents in EM2PESI do have parents in CDM_EM2PESI')
+
+	/*
+		SELECT cdm_t.Fullname ChildName, bm_pt.Fullname as Parent_EM2PESI, 'in EM2PESI but not in CDM_EM2PESI'
+		FROM [EM2PESI].[DBO].TAXON bm_t 
+			INNER JOIN [EM2PESI].[DBO].TAXON bm_pt ON bm_t.ParentTaxonFk = bm_pt.TaxonId
+			INNER JOIN [CDM_EM2PESI].[DBO].TAXON cdm_t ON ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') 
+		
+		WHERE cdm_t.ParentTaxonFk  IS NULL AND NOT EXISTS 
+		(SELECT * FROM [CDM_EM2PESI].[DBO].TAXON cdm_pt
+		WHERE (cdm_pt.IdInSource = bm_pt.IdInSource OR cdm_pt.IdInSource IS NULL AND bm_pt.IdInSource IS NULL) 
+				AND ISNULL(cdm_pt.GUID, '') = ISNULL(bm_pt.GUID, '')
+				AND cdm_t.ParentTaxonFk = cdm_pt.TaxonId)
+		ORDER BY cdm_t.Fullname
+
+	*/
+		SELECT @n_cdm = COUNT(*) -- taxa with parent only in CDM_EM2PESI
+			FROM [EM2PESI].[DBO].TAXON bm_t INNER JOIN
+			[CDM_EM2PESI].[DBO].TAXON cdm_t
+			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '') INNER JOIN
+			[CDM_EM2PESI].[DBO].TAXON cdm_pt ON cdm_t.ParentTaxonFk = cdm_pt.TaxonId
+			WHERE NOT EXISTS
+				(SELECT * FROM [EM2PESI].[DBO].TAXON
+				WHERE IdInSource = cdm_pt.IdInSource AND ISNULL(GUID, '') = ISNULL(cdm_pt.GUID, ''))
+		SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
+		IF @n_cdm > 0 BEGIN 
+			PRINT ('WARNING: ' + @str_n_cdm + ' identical taxa have parents in CDM_EM2PESI but not in EM2PESI')
+		END ELSE PRINT('All identical taxa that have parents in CDM_EM2PESI do have parents in EM2PESI')
+		
+	/*
+		SELECT bm_t.Fullname ChildName, cdm_pt.Fullname as Parent_CDM, 'in CDM_EM2PESI but not in EM2PESI'
+		FROM [CDM_EM2PESI].[DBO].TAXON cdm_t 
+			INNER JOIN [CDM_EM2PESI].[DBO].TAXON cdm_pt ON cdm_t.ParentTaxonFk = cdm_pt.TaxonId
+			INNER JOIN [EM2PESI].[DBO].TAXON bm_t ON ISNULL(cdm_t.GUID, '') = ISNULL(bm_t.GUID, '') 
+		
+		WHERE bm_t.ParentTaxonFk  IS NULL AND NOT EXISTS 
+		(SELECT * FROM [EM2PESI].[DBO].TAXON bm_pt
+		WHERE (bm_pt.IdInSource = cdm_pt.IdInSource OR bm_pt.IdInSource IS NULL AND cdm_pt.IdInSource IS NULL) 
+				AND ISNULL(bm_pt.GUID, '') = ISNULL(cdm_pt.GUID, '')
+				AND bm_t.ParentTaxonFk = bm_pt.TaxonId)
+		ORDER BY bm_t.Fullname
+	*/
+		IF @n = 0 AND @n_cdm = 0 AND @n_bm = 0 BEGIN
+			PRINT ('All identical taxa have the same parent')
+		END
+
+-- TreeIndex
+/* This is not checked. This field should be created by the PESI-Procedure recalculateallstoredpaths.
+	Actually checking the parents of the same taxa is enough to ensure the compatibility of the taxonomical tree as a whole.
+	See the Parent section
+*/
+	SELECT @n_bm = COUNT(*) FROM [EM2PESI].[DBO].TAXON WHERE TreeIndex IS NOT NULL
+	SELECT @n_cdm = COUNT(*) FROM [CDM_EM2PESI].[DBO].TAXON WHERE TreeIndex IS NOT NULL
+	SET @n = @n_bm - @n_cdm
+
+	SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
+	SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
+	SET @str_n = Cast(@n AS NVARCHAR)
+
+	IF @n = 0 BEGIN
+		PRINT ('Both databases have the same number of taxa which have a tree index = ' + @str_n_bm)
+	END ELSE PRINT ('WARNING: Both databases DO NOT have the same number of taxa that have a tree index, n_bm = ' + @str_n_bm + ' and n_cdm = '+ @str_n_cdm)
+	
+------------------------------------------- RelTaxon -------------------------------
+	PRINT ' '
+	PRINT 'RELATIONSHIP'
+	
+-- taxonomical relationships between taxa and nomenclatural relationships between names
+	SELECT @n_bm = COUNT(*) FROM [EM2PESI].[DBO].RELTAXON
+	SELECT @n_cdm = COUNT(*) FROM [CDM_EM2PESI].[DBO].RELTAXON
+	SET @n = @n_bm - @n_cdm
+
+	SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
+	SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
+	SET @str_n = Cast(@n AS NVARCHAR)
+
+	IF @n = 0 BEGIN
+		PRINT ('Both databases have the same number of relationship records = ' + @str_n_bm)
+	END ELSE PRINT ('WARNING: Both databases DO NOT have the same number of relationship records, n_bm = ' + @str_n_bm + ' and n_cdm = '+ @str_n_cdm)
+
+		SELECT @n_bm = COUNT(*) -- relationships only in EM2PESI
+			FROM [EM2PESI].[DBO].RELTAXON bm_rt INNER JOIN
+			[EM2PESI].[DBO].TAXON bm_t1 ON bm_rt.TaxonFk1 = bm_t1.TaxonId INNER JOIN
+			[EM2PESI].[DBO].TAXON bm_t2 ON bm_rt.TaxonFk2 = bm_t2.TaxonId INNER JOIN
+			[CDM_EM2PESI].[DBO].TAXON cdm_t1
+			ON bm_t1.IdInSource = cdm_t1.IdInSource AND ISNULL(bm_t1.GUID, '') = ISNULL(cdm_t1.GUID, '') INNER JOIN
+			[CDM_EM2PESI].[DBO].TAXON cdm_t2
+			ON bm_t2.IdInSource = cdm_t2.IdInSource AND ISNULL(bm_t2.GUID, '') = ISNULL(cdm_t2.GUID, '')
+			WHERE NOT EXISTS
+			(SELECT * FROM [CDM_EM2PESI].[DBO].RELTAXON
+			WHERE TaxonFk1 = cdm_t1.TaxonId AND TaxonFk2 = cdm_t2.TaxonId AND RelQualifierCache = bm_rt.RelQualifierCache)
+		SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
+		IF @n_bm = 0 BEGIN
+			PRINT ('All relationships in EM2PESI exist also in CDM_EM2PESI')
+		END ELSE PRINT ('WARNING: ' + @str_n_bm + ' existing relationships for identical taxa in EM2PESI DO NOT exist in CDM_EM2PESI')
+	/*
+		SELECT bm_t1.Fullname, bm_rt.RelQualifierCache, bm_t2.Fullname, 'in EM2PESI but not in CDM_EM2PESI'
+		FROM [EM2PESI].[DBO].RELTAXON bm_rt INNER JOIN
+		[EM2PESI].[DBO].TAXON bm_t1 ON bm_rt.TaxonFk1 = bm_t1.TaxonId INNER JOIN
+		[EM2PESI].[DBO].TAXON bm_t2 ON bm_rt.TaxonFk2 = bm_t2.TaxonId INNER JOIN
+		[CDM_EM2PESI].[DBO].TAXON cdm_t1
+		ON bm_t1.IdInSource = cdm_t1.IdInSource AND ISNULL(bm_t1.GUID, '') = ISNULL(cdm_t1.GUID, '') INNER JOIN
+		[CDM_EM2PESI].[DBO].TAXON cdm_t2
+		ON bm_t2.IdInSource = cdm_t2.IdInSource AND ISNULL(bm_t2.GUID, '') = ISNULL(cdm_t2.GUID, '')
+		WHERE NOT EXISTS
+		(SELECT * FROM [CDM_EM2PESI].[DBO].RELTAXON
+		WHERE TaxonFk1 = cdm_t1.TaxonId AND TaxonFk2 = cdm_t2.TaxonId AND RelQualifierCache = bm_rt.RelQualifierCache)
+
+		SELECT [RelTaxonQualifierFk]
+		,[RelQualifierCache]
+		, COUNT(*) as n
+		FROM [CDM_EM2PESI].[dbo].[RelTaxon] rel INNER JOIN [CDM_EM2PESI].[dbo].[Taxon] t1 ON t1.TaxonId = rel.TaxonFk1
+		INNER JOIN [CDM_EM2PESI].[dbo].[Taxon] t2 ON t2.TaxonId = rel.TaxonFk2
+		GROUP BY RelTaxonQualifierFk, RelQualifierCache
+		ORDER BY RelTaxonQualifierFk, COUNT(*) DESC
+
+		SELECT [RelTaxonQualifierFk]
+		,[RelQualifierCache]
+		, COUNT(*) as n
+		FROM [EM2PESI].[dbo].[RelTaxon]
+		GROUP BY RelTaxonQualifierFk, RelQualifierCache
+		ORDER BY RelTaxonQualifierFk, COUNT(*) DESC
+		
+		SELECT t1.QualifierId, t1.Qualifier, t1.n as n_cdm, t2.n as n_bm,  t1.n - t2.n as diff
+		FROM (
+
+			SELECT rtq.QualifierId , rtq.Qualifier,  COUNT(rel.RelTaxonId) as n
+			FROM RelTaxonQualifier rtq LEFT OUTER JOIN [CDM_EM2PESI].[dbo].[RelTaxon] rel ON rel.RelTaxonQualifierFk = rtq.QualifierId 
+				LEFT OUTER JOIN [CDM_EM2PESI].[dbo].[Taxon] t1 ON t1.TaxonId = rel.TaxonFk1 
+				LEFT OUTER JOIN [CDM_EM2PESI].[dbo].[Taxon] t2 ON t2.TaxonId = rel.TaxonFk2
+			GROUP BY QualifierId, Qualifier
+		) t1 INNER JOIN  (
+			SELECT rtq2.QualifierId , rtq2.Qualifier, COUNT(rel.RelTaxonId) as n
+			FROM RelTaxonQualifier rtq2 LEFT OUTER JOIN [EM2PESI].[dbo].[RelTaxon] rel ON rel.RelTaxonQualifierFk = rtq2.QualifierId 
+				LEFT OUTER JOIN [EM2PESI].[dbo].[Taxon] t1 ON t1.TaxonId = rel.TaxonFk1 
+				LEFT OUTER JOIN [EM2PESI].[dbo].[Taxon] t2 ON t2.TaxonId = rel.TaxonFk2
+				GROUP BY QualifierId, Qualifier
+		) t2  ON t1.QualifierId  = t2.QualifierId AND t1.n <> t2.n
+		ORDER BY t1.QualifierId DESC
+
+	*/
+		SELECT @n_cdm = COUNT(*) -- relationships only in CDM_EM2PESI
+			FROM [CDM_EM2PESI].[DBO].RELTAXON cdm_rt INNER JOIN
+			[CDM_EM2PESI].[DBO].TAXON cdm_t1 ON cdm_rt.TaxonFk1 = cdm_t1.TaxonId INNER JOIN
+			[CDM_EM2PESI].[DBO].TAXON cdm_t2 ON cdm_rt.TaxonFk2 = cdm_t2.TaxonId INNER JOIN
+			[EM2PESI].[DBO].TAXON bm_t1
+			ON bm_t1.IdInSource = cdm_t1.IdInSource AND ISNULL(bm_t1.GUID, '') = ISNULL(cdm_t1.GUID, '') INNER JOIN
+			[EM2PESI].[DBO].TAXON bm_t2
+			ON bm_t2.IdInSource = cdm_t2.IdInSource AND ISNULL(bm_t2.GUID, '') = ISNULL(cdm_t2.GUID, '')
+			WHERE NOT EXISTS
+			(SELECT * FROM [EM2PESI].[DBO].RELTAXON
+			WHERE TaxonFk1 = bm_t1.TaxonId AND TaxonFk2 = bm_t2.TaxonId AND RelQualifierCache = cdm_rt.RelQualifierCache)
+		SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
+		IF @n_cdm = 0 BEGIN
+			PRINT ('All relationships in CDM_EM2PESI exist also in EM2PESI')
+		END ELSE PRINT ('WARNING: ' + @str_n_cdm + ' existing relationships for identical taxa in CDM_EM2PESI DO NOT exist in EM2PESI')
+	/*
+		SELECT cdm_t1.Fullname, cdm_rt.RelQualifierCache, cdm_t2.Fullname, 'in CDM_EM2PESI but not in CDM_EM2PESI'
+		FROM [CDM_EM2PESI].[DBO].RELTAXON cdm_rt INNER JOIN
+		[CDM_EM2PESI].[DBO].TAXON cdm_t1 ON cdm_rt.TaxonFk1 = cdm_t1.TaxonId INNER JOIN
+		[CDM_EM2PESI].[DBO].TAXON cdm_t2 ON cdm_rt.TaxonFk2 = cdm_t2.TaxonId INNER JOIN
+		[EM2PESI].[DBO].TAXON bm_t1
+		ON bm_t1.IdInSource = cdm_t1.IdInSource AND ISNULL(bm_t1.GUID, '') = ISNULL(cdm_t1.GUID, '') INNER JOIN
+		[EM2PESI].[DBO].TAXON bm_t2
+		ON bm_t2.IdInSource = cdm_t2.IdInSource AND ISNULL(bm_t2.GUID, '') = ISNULL(cdm_t2.GUID, '')
+		WHERE NOT EXISTS
+		(SELECT * FROM [EM2PESI].[DBO].RELTAXON
+		WHERE TaxonFk1 = bm_t1.TaxonId AND TaxonFk2 = bm_t2.TaxonId AND RelQualifierCache = cdm_rt.RelQualifierCache)
+	*/
+		IF @n_cdm = 0 AND @n_bm = 0 BEGIN
+			PRINT ('All relationships are identical in both databases')
+		END
+
+
+------------------------------------------- CommonName -------------------------------
+	PRINT ' '
+	PRINT 'COMMON NAMES'
+
+	SELECT @n_bm = COUNT(*) FROM [EM2PESI].[DBO].CommonName
+	SELECT @n_cdm = COUNT(*) FROM [CDM_EM2PESI].[DBO].CommonName
+	SET @n = @n_bm - @n_cdm
+
+	SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
+	SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
+	SET @str_n = Cast(@n AS NVARCHAR)
+
+	IF @n = 0 BEGIN
+		PRINT ('Both databases have the same number of common names = ' + @str_n_bm)
+	END ELSE PRINT ('WARNING: Both databases DO NOT have the same number of common names, n_bm = ' + @str_n_bm + ' and n_cdm = '+ @str_n_cdm)
+
+		SELECT @n_bm = COUNT(*) -- common names only in EM2PESI
+			FROM [EM2PESI].[DBO].CommonName bm_cn INNER JOIN
+			[EM2PESI].[DBO].TAXON bm_t ON bm_cn.TaxonFk = bm_t.TaxonId INNER JOIN
+			[CDM_EM2PESI].[DBO].TAXON cdm_t
+			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+			WHERE NOT EXISTS
+			(SELECT * FROM [CDM_EM2PESI].[DBO].CommonName
+			WHERE TaxonFk = cdm_t.TaxonId AND ISNULL(CommonName,'') = ISNULL(bm_cn.CommonName,'')
+			AND ISNULL(LanguageCache,'') = ISNULL(bm_cn.LanguageCache,'')
+			AND ISNULL(SourceNameCache,'') = ISNULL(bm_cn.SourceNameCache,'')
+			AND ISNULL(SpeciesExpertName,'') = ISNULL(bm_cn.SpeciesExpertName,'')
+			AND ISNULL(LastAction,'') = ISNULL(bm_cn.LastAction,'')
+			AND ISNULL(LastActionDate,'00:00:00') = ISNULL(bm_cn.LastActionDate,'00:00:00')
+			)
+		SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
+		IF @n_bm = 0 BEGIN
+			PRINT ('All common names in EM2PESI exist also in CDM_EM2PESI')
+		END ELSE PRINT ('WARNING: ' + @str_n_bm + ' existing common names for identical taxa in EM2PESI DO NOT exist in CDM_EM2PESI')
+	/*
+		SELECT bm_t.Fullname, bm_cn.CommonName, bm_cn.LanguageCache,
+		bm_cn.SourceNameCache, bm_cn.SpeciesExpertName, bm_cn.LastAction,
+		bm_cn.LastActionDate, 'in EM2PESI but not in CDM_EM2PESI'
+		FROM [EM2PESI].[DBO].CommonName bm_cn INNER JOIN
+		[EM2PESI].[DBO].TAXON bm_t ON bm_cn.TaxonFk = bm_t.TaxonId INNER JOIN
+		[CDM_EM2PESI].[DBO].TAXON cdm_t
+		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+		WHERE NOT EXISTS
+		(SELECT * FROM [CDM_EM2PESI].[DBO].CommonName
+		WHERE TaxonFk = cdm_t.TaxonId AND ISNULL(CommonName,'') = ISNULL(bm_cn.CommonName,'')
+		AND ISNULL(LanguageCache,'') = ISNULL(bm_cn.LanguageCache,'')
+		AND ISNULL(SourceNameCache,'') = ISNULL(bm_cn.SourceNameCache,'')
+		AND ISNULL(SpeciesExpertName,'') = ISNULL(bm_cn.SpeciesExpertName,'')
+		AND ISNULL(LastAction,'') = ISNULL(bm_cn.LastAction,'')
+		AND ISNULL(LastActionDate,'00:00:00') = ISNULL(bm_cn.LastActionDate,'00:00:00')
+		)
+	*/
+		SELECT @n_cdm = COUNT(*) -- common names only in CDM_EM2PESI
+			FROM [CDM_EM2PESI].[DBO].CommonName cdm_cn INNER JOIN
+			[CDM_EM2PESI].[DBO].TAXON cdm_t ON cdm_cn.TaxonFk = cdm_t.TaxonId INNER JOIN
+			[EM2PESI].[DBO].TAXON bm_t
+			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+			WHERE NOT EXISTS
+			(SELECT * FROM [EM2PESI].[DBO].CommonName
+			WHERE TaxonFk = bm_t.TaxonId AND ISNULL(CommonName,'') = ISNULL(cdm_cn.CommonName,'')
+			AND ISNULL(LanguageCache,'') = ISNULL(cdm_cn.LanguageCache,'')
+			AND ISNULL(SourceNameCache,'') = ISNULL(cdm_cn.SourceNameCache,'')
+			AND ISNULL(SpeciesExpertName,'') = ISNULL(cdm_cn.SpeciesExpertName,'')
+			AND ISNULL(LastAction,'') = ISNULL(cdm_cn.LastAction,'')
+			AND ISNULL(LastActionDate,'00:00:00') = ISNULL(cdm_cn.LastActionDate,'00:00:00')
+			)
+		SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
+		IF @n_cdm = 0 BEGIN
+			PRINT ('All common names in CDM_EM2PESI exist also in EM2PESI')
+		END ELSE PRINT ('WARNING: ' + @str_n_cdm + ' existing common names for identical taxa in CDM_EM2PESI DO NOT exist in EM2PESI')
+	/*
+		SELECT bm_t.Fullname, cdm_cn.CommonName, cdm_cn.LanguageCache,
+		cdm_cn.SourceNameCache, cdm_cn.SpeciesExpertName, cdm_cn.LastAction,
+		cdm_cn.LastActionDate, 'in CDM_EM2PESI but not in EM2PESI'
+		FROM [CDM_EM2PESI].[DBO].CommonName cdm_cn INNER JOIN
+		[CDM_EM2PESI].[DBO].TAXON cdm_t ON cdm_cn.TaxonFk = cdm_t.TaxonId INNER JOIN
+		[EM2PESI].[DBO].TAXON bm_t
+		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+		WHERE NOT EXISTS
+		(SELECT * FROM [EM2PESI].[DBO].CommonName
+		WHERE TaxonFk = bm_t.TaxonId AND ISNULL(CommonName,'') = ISNULL(cdm_cn.CommonName,'')
+		AND ISNULL(LanguageCache,'') = ISNULL(cdm_cn.LanguageCache,'')
+		AND ISNULL(SourceNameCache,'') = ISNULL(cdm_cn.SourceNameCache,'')
+		AND ISNULL(SpeciesExpertName,'') = ISNULL(cdm_cn.SpeciesExpertName,'')
+		AND ISNULL(LastAction,'') = ISNULL(cdm_cn.LastAction,'')
+		AND ISNULL(LastActionDate,'00:00:00') = ISNULL(cdm_cn.LastActionDate,'00:00:00')
+		)
+	*/
+		IF @n_cdm = 0 AND @n_bm = 0 BEGIN
+			PRINT ('All common names are identical in both databases')
+		END
+
+------------------------------------------- AdditionalTaxonSource -------------------------------
+	PRINT ' '
+	PRINT 'ADDITIONAL TAXON SOURCE'
+	
+	SELECT @n_bm = COUNT(*) FROM [EM2PESI].[DBO].AdditionalTaxonSource
+	SELECT @n_cdm = COUNT(*) FROM [CDM_EM2PESI].[DBO].AdditionalTaxonSource
+	SET @n = @n_bm - @n_cdm
+
+	SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
+	SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
+	SET @str_n = Cast(@n AS NVARCHAR)
+
+	IF @n = 0 BEGIN
+		PRINT ('Both databases have the same number of additional sources = ' + @str_n_bm)
+	END ELSE PRINT ('WARNING: Both databases DO NOT have the same number of additional sources, n_bm = ' + @str_n_bm + ' and n_cdm = '+ @str_n_cdm)
+
+		SELECT @n_bm = COUNT(*) -- additional sources only in EM2PESI
+			FROM [EM2PESI].[DBO].AdditionalTaxonSource bm_ats INNER JOIN
+			[EM2PESI].[DBO].TAXON bm_t ON bm_ats.TaxonFk = bm_t.TaxonId INNER JOIN
+			[CDM_EM2PESI].[DBO].TAXON cdm_t
+			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+			WHERE NOT EXISTS
+			(SELECT * FROM [CDM_EM2PESI].[DBO].AdditionalTaxonSource
+			WHERE TaxonFk = cdm_t.TaxonId 
+			AND ISNULL(SourceUseCache,'') = ISNULL(bm_ats.SourceUseCache,'')
+			AND ISNULL(SourceNameCache,'') = ISNULL(bm_ats.SourceNameCache,'')
+			AND ISNULL(SourceDetail,'') = ISNULL(bm_ats.SourceDetail,'')
+			)
+		SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
+		IF @n_bm = 0 BEGIN
+			PRINT ('All additional sources in EM2PESI exist also in CDM_EM2PESI')
+		END ELSE PRINT ('WARNING: ' + @str_n_bm + ' existing additional sources for identical taxa in EM2PESI DO NOT exist in CDM_EM2PESI')
+	/*
+		SELECT bm_t.Fullname, bm_ats.SourceUseCache, bm_ats.SourceNameCache,
+		bm_ats.SourceDetail, 'in EM2PESI but not in CDM_EM2PESI'
+		FROM [EM2PESI].[DBO].AdditionalTaxonSource bm_ats INNER JOIN
+		[EM2PESI].[DBO].TAXON bm_t ON bm_ats.TaxonFk = bm_t.TaxonId INNER JOIN
+		[CDM_EM2PESI].[DBO].TAXON cdm_t
+		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+		WHERE NOT EXISTS
+		(SELECT * FROM [CDM_EM2PESI].[DBO].AdditionalTaxonSource
+		WHERE TaxonFk = cdm_t.TaxonId 
+		AND ISNULL(SourceUseCache,'') = ISNULL(bm_ats.SourceUseCache,'')
+		AND ISNULL(SourceNameCache,'') = ISNULL(bm_ats.SourceNameCache,'')
+		AND ISNULL(SourceDetail,'') = ISNULL(bm_ats.SourceDetail,'')
+		)
+		ORDER BY bm_t.Fullname, bm_ats.SourceUseCache, bm_ats.SourceNameCache
+		
+	*/
+		SELECT @n_cdm = COUNT(*) -- additional sources only in CDM_EM2PESI
+			FROM [CDM_EM2PESI].[DBO].AdditionalTaxonSource cdm_ats INNER JOIN
+			[CDM_EM2PESI].[DBO].TAXON cdm_t ON cdm_ats.TaxonFk = cdm_t.TaxonId INNER JOIN
+			[EM2PESI].[DBO].TAXON bm_t
+			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+			WHERE NOT EXISTS
+			(SELECT * FROM [EM2PESI].[DBO].AdditionalTaxonSource
+			WHERE TaxonFk = bm_t.TaxonId 
+			AND ISNULL(SourceUseCache,'') = ISNULL(cdm_ats.SourceUseCache,'')
+			AND ISNULL(SourceNameCache,'') = ISNULL(cdm_ats.SourceNameCache,'')
+			AND ISNULL(SourceDetail,'') = ISNULL(cdm_ats.SourceDetail,'')
+			)
+		SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
+		IF @n_cdm = 0 BEGIN
+			PRINT ('All additional sources in CDM_EM2PESI exist also in EM2PESI')
+		END ELSE PRINT ('WARNING: ' + @str_n_cdm + ' existing additional sources for identical taxa in CDM_EM2PESI DO NOT exist in EM2PESI')
+	/*
+		SELECT bm_t.Fullname, cdm_ats.SourceUseCache, cdm_ats.SourceNameCache,
+		cdm_ats.SourceDetail, 'in EM2PESI but not in CDM_EM2PESI'
+		FROM [CDM_EM2PESI].[DBO].AdditionalTaxonSource cdm_ats INNER JOIN
+		[CDM_EM2PESI].[DBO].TAXON cdm_t ON cdm_ats.TaxonFk = cdm_t.TaxonId INNER JOIN
+		[EM2PESI].[DBO].TAXON bm_t
+		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+		WHERE NOT EXISTS
+		(SELECT * FROM [EM2PESI].[DBO].AdditionalTaxonSource
+		WHERE TaxonFk = bm_t.TaxonId 
+		AND ISNULL(SourceUseCache,'') = ISNULL(cdm_ats.SourceUseCache,'')
+		AND ISNULL(SourceNameCache,'') = ISNULL(cdm_ats.SourceNameCache,'')
+		AND ISNULL(SourceDetail,'') = ISNULL(cdm_ats.SourceDetail,'')
+		)
+		ORDER BY bm_t.Fullname, cdm_ats.SourceUseCache, cdm_ats.SourceNameCache
+	*/
+		IF @n_cdm = 0 AND @n_bm = 0 BEGIN
+			PRINT ('All additional sources are identical in both databases')
+		END
+
+------------------------------ Image (currently exist only in ERMS) -------------------------------
+	PRINT ' '
+	PRINT 'IMAGES'
+	
+	SELECT @n_bm = COUNT(*) FROM [EM2PESI].[DBO].Image
+	SELECT @n_cdm = COUNT(*) FROM [CDM_EM2PESI].[DBO].Image
+	SET @n = @n_bm - @n_cdm
+
+	SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
+	SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
+	SET @str_n = Cast(@n AS NVARCHAR)
+
+	IF @n = 0 BEGIN
+		PRINT ('Both databases have the same number of images = ' + @str_n_bm)
+	END ELSE PRINT ('WARNING: Both databases DO NOT have the same number of images, n_bm = ' + @str_n_bm + ' and n_cdm = '+ @str_n_cdm)
+
+		SELECT @n_bm = COUNT(*) -- images only in EM2PESI
+			FROM [EM2PESI].[DBO].Image bm_i INNER JOIN
+			[EM2PESI].[DBO].TAXON bm_t ON bm_i.TaxonFk = bm_t.TaxonId INNER JOIN
+			[CDM_EM2PESI].[DBO].TAXON cdm_t
+			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+			WHERE NOT EXISTS
+			(SELECT * FROM [CDM_EM2PESI].[DBO].Image
+			WHERE TaxonFk = cdm_t.TaxonId AND ISNULL(img_thumb,'') = ISNULL(bm_i.img_thumb,'')
+			AND ISNULL(img_url,'') = ISNULL(bm_i.img_url,'')
+			)
+		SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
+		IF @n_bm = 0 BEGIN
+			PRINT ('All images in EM2PESI exist also in CDM_EM2PESI')
+		END ELSE PRINT ('WARNING: ' + @str_n_bm + ' existing images for identical taxa in EM2PESI DO NOT exist in CDM_EM2PESI')
+	/*
+		SELECT bm_t.Fullname, bm_i.img_thumb, bm_i.img_url, 'in EM2PESI but not in CDM_EM2PESI'
+		FROM [EM2PESI].[DBO].Image bm_i INNER JOIN
+		[EM2PESI].[DBO].TAXON bm_t ON bm_i.TaxonFk = bm_t.TaxonId INNER JOIN
+		[CDM_EM2PESI].[DBO].TAXON cdm_t
+		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+		WHERE NOT EXISTS
+		(SELECT * FROM [CDM_EM2PESI].[DBO].Image
+		WHERE TaxonFk = cdm_t.TaxonId AND ISNULL(img_thumb,'') = ISNULL(bm_i.img_thumb,'')
+		AND ISNULL(img_url,'') = ISNULL(bm_i.img_url,'')
+		)
+	*/
+		SELECT @n_cdm = COUNT(*) -- images only in CDM_EM2PESI
+			FROM [CDM_EM2PESI].[DBO].Image cdm_i INNER JOIN
+			[CDM_EM2PESI].[DBO].TAXON cdm_t ON cdm_i.TaxonFk = cdm_t.TaxonId INNER JOIN
+			[EM2PESI].[DBO].TAXON bm_t
+			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+			WHERE NOT EXISTS
+			(SELECT * FROM [EM2PESI].[DBO].Image
+			WHERE TaxonFk = bm_t.TaxonId AND ISNULL(img_thumb,'') = ISNULL(cdm_i.img_thumb,'')
+			AND ISNULL(img_url,'') = ISNULL(cdm_i.img_url,'')
+			)
+		SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
+		IF @n_cdm = 0 BEGIN
+			PRINT ('All images in CDM_EM2PESI exist also in EM2PESI')
+		END ELSE PRINT ('WARNING: ' + @str_n_cdm + ' existing images for identical taxa in CDM_EM2PESI DO NOT exist in EM2PESI')
+	/*
+		SELECT bm_t.Fullname, cdm_i.img_thumb, cdm_i.img_url, 'in CDM_EM2PESI but not in EM2PESI'
+		FROM [CDM_EM2PESI].[DBO].Image cdm_i INNER JOIN
+		[CDM_EM2PESI].[DBO].TAXON cdm_t ON cdm_i.TaxonFk = cdm_t.TaxonId INNER JOIN
+		[EM2PESI].[DBO].TAXON bm_t
+		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+		WHERE NOT EXISTS
+		(SELECT * FROM [EM2PESI].[DBO].Image
+		WHERE TaxonFk = bm_t.TaxonId AND ISNULL(img_thumb,'') = ISNULL(cdm_i.img_thumb,'')
+		AND ISNULL(img_url,'') = ISNULL(cdm_i.img_url,'')
+		)
+	*/
+		IF @n_cdm = 0 AND @n_bm = 0 BEGIN
+			PRINT ('All images are identical in both databases')
+		END
+
+------------------------------------------- Note -------------------------------
+	PRINT ' '
+	PRINT 'NOTES'
+
+	SELECT @n_bm = COUNT(*) FROM [EM2PESI].[DBO].Note LEFT OUTER JOIN
+		[EM2PESI].[DBO].NoteSource ON NoteFk = NoteId
+	SELECT @n_cdm = COUNT(*) FROM [CDM_EM2PESI].[DBO].Note LEFT OUTER JOIN
+		[CDM_EM2PESI].[DBO].NoteSource ON NoteFk = NoteId
+	SET @n = @n_bm - @n_cdm
+
+	SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
+	SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
+	SET @str_n = Cast(@n AS NVARCHAR)
+
+	IF @n = 0 BEGIN
+		PRINT ('Both databases have the same number of note * notesource results = ' + @str_n_bm)
+	END ELSE PRINT ('WARNING: Both databases DO NOT have the same number of note * notesource results, n_bm = ' + @str_n_bm + ' and n_cdm = '+ @str_n_cdm)
+
+		SELECT @n_bm = COUNT(*) -- note * notesource results only in EM2PESI
+			FROM [EM2PESI].[DBO].Note bm_n INNER JOIN
+			[EM2PESI].[DBO].TAXON bm_t ON bm_n.TaxonFk = bm_t.TaxonId LEFT OUTER JOIN
+			[EM2PESI].[DBO].NoteSource bm_ns ON bm_ns.NoteFk = bm_n.NoteId INNER JOIN
+			[CDM_EM2PESI].[DBO].TAXON cdm_t
+			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+			WHERE NOT EXISTS
+			(SELECT * FROM [CDM_EM2PESI].[DBO].Note LEFT OUTER JOIN [CDM_EM2PESI].[DBO].NoteSource
+			ON [CDM_EM2PESI].[DBO].Note.NoteId = [CDM_EM2PESI].[DBO].NoteSource.NoteFk
+			WHERE TaxonFk = cdm_t.TaxonId 
+			AND ISNULL(Note_1,'') = ISNULL(bm_n.Note_1,'')
+			AND ISNULL(Note_2,'') = ISNULL(bm_n.Note_2,'')
+			AND ISNULL(NoteCategoryCache,'') = ISNULL(bm_n.NoteCategoryCache,'')
+			AND ISNULL(LanguageCache,'') = ISNULL(bm_n.LanguageCache,'')
+			AND ISNULL(SpeciesExpertName,'') = ISNULL(bm_n.SpeciesExpertName,'')
+			AND ISNULL(LastAction,'') = ISNULL(bm_n.LastAction,'')
+			AND Left(ISNULL(LastActionDate,'00:00:00'),18) = Left(ISNULL(bm_n.LastActionDate,'00:00:00'),18)
+			AND ISNULL(SourceNameCache,'') = ISNULL(bm_ns.SourceNameCache,'')
+			AND ISNULL(SourceDetail,'') = ISNULL(bm_ns.SourceDetail,'')
+			)
+		SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
+		IF @n_bm = 0 BEGIN
+			PRINT ('All note * notesource results in EM2PESI exist also in CDM_EM2PESI')
+		END ELSE PRINT ('WARNING: ' + @str_n_bm + ' existing note * notesource results for identical taxa in EM2PESI DO NOT exist in CDM_EM2PESI')
+	/*
+		Typical Problems: 
+		Duplicate entries during E+M SQL import for taxa using the same name object.
+		Missing source info by E+M SQL import
+		Last Action date automatically created (but wrong) by CDM import
+		
+		SELECT bm_t.Fullname, bm_n.Note_1, bm_n.Note_2, bm_n.NoteCategoryCache, bm_n.LanguageCache,
+		bm_n.SpeciesExpertName, bm_n.LastAction, bm_n.LastActionDate, bm_ns.SourceNameCache, bm_ns.SourceDetail,
+		'in EM2PESI but not in CDM_EM2PESI'
+		FROM [EM2PESI].[DBO].Note bm_n INNER JOIN
+		[EM2PESI].[DBO].TAXON bm_t ON bm_n.TaxonFk = bm_t.TaxonId LEFT OUTER JOIN
+		[EM2PESI].[DBO].NoteSource bm_ns ON bm_ns.NoteFk = bm_n.NoteId INNER JOIN
+		[CDM_EM2PESI].[DBO].TAXON cdm_t
+		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+		WHERE NOT EXISTS
+		(SELECT * FROM [CDM_EM2PESI].[DBO].Note LEFT OUTER JOIN [CDM_EM2PESI].[DBO].NoteSource
+		ON [CDM_EM2PESI].[DBO].Note.NoteId = [CDM_EM2PESI].[DBO].NoteSource.NoteFk
+		WHERE TaxonFk = cdm_t.TaxonId 
+		AND ISNULL(Note_1,'') = ISNULL(bm_n.Note_1,'')
+		AND ISNULL(Note_2,'') = ISNULL(bm_n.Note_2,'')
+		AND ISNULL(NoteCategoryCache,'') = ISNULL(bm_n.NoteCategoryCache,'')
+		AND ISNULL(LanguageCache,'') = ISNULL(bm_n.LanguageCache,'')
+		AND ISNULL(SpeciesExpertName,'') = ISNULL(bm_n.SpeciesExpertName,'')
+		AND ISNULL(LastAction,'') = ISNULL(bm_n.LastAction,'')
+		AND Left(ISNULL(LastActionDate,'00:00:00'),18) = Left(ISNULL(bm_n.LastActionDate,'00:00:00'),18)
+		AND ISNULL(SourceNameCache,'') = ISNULL(bm_ns.SourceNameCache,'')
+		AND ISNULL(SourceDetail,'') = ISNULL(bm_ns.SourceDetail,'')
+		)
+		ORDER BY bm_n.NoteCategoryFk, bm_t.Fullname, bm_n.Note_1
+	*/
+		SELECT @n_cdm = COUNT(*) -- note * notesource results only in CDM_EM2PESI
+			FROM [CDM_EM2PESI].[DBO].Note cdm_n INNER JOIN
+			[CDM_EM2PESI].[DBO].TAXON cdm_t ON cdm_n.TaxonFk = cdm_t.TaxonId LEFT OUTER JOIN
+			[CDM_EM2PESI].[DBO].NoteSource cdm_ns ON cdm_ns.NoteFk = cdm_n.NoteId INNER JOIN
+			[EM2PESI].[DBO].TAXON bm_t
+			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+			WHERE NOT EXISTS
+			(SELECT * FROM [EM2PESI].[DBO].Note LEFT OUTER JOIN [EM2PESI].[DBO].NoteSource
+			ON [EM2PESI].[DBO].Note.NoteId = [EM2PESI].[DBO].NoteSource.NoteFk
+			WHERE TaxonFk = bm_t.TaxonId 
+			AND ISNULL(Note_1,'') = ISNULL(cdm_n.Note_1,'')
+			AND ISNULL(Note_2,'') = ISNULL(cdm_n.Note_2,'')
+			AND ISNULL(NoteCategoryCache,'') = ISNULL(cdm_n.NoteCategoryCache,'')
+			AND ISNULL(LanguageCache,'') = ISNULL(cdm_n.LanguageCache,'')
+			AND ISNULL(SpeciesExpertName,'') = ISNULL(cdm_n.SpeciesExpertName,'')
+			AND ISNULL(LastAction,'') = ISNULL(cdm_n.LastAction,'')
+			AND LEFT(ISNULL(LastActionDate,'00:00:00'),18) = LEFT(ISNULL(cdm_n.LastActionDate,'00:00:00'),18)
+			AND ISNULL(SourceNameCache,'') = ISNULL(cdm_ns.SourceNameCache,'')
+			AND ISNULL(SourceDetail,'') = ISNULL(cdm_ns.SourceDetail,'')
+			)
+		SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
+		IF @n_cdm = 0 BEGIN
+			PRINT ('All note * notesource results in CDM_EM2PESI exist also in EM2PESI')
+		END ELSE PRINT ('WARNING: ' + @str_n_cdm + ' existing note * notesource results for identical taxa in CDM_EM2PESI DO NOT exist in EM2PESI')
+	/*
+		SELECT bm_t.Fullname, cdm_n.Note_1, cdm_n.Note_2, cdm_n.NoteCategoryCache, cdm_n.LanguageCache,
+		cdm_n.SpeciesExpertName, cdm_n.LastAction, cdm_n.LastActionDate, cdm_ns.SourceNameCache, cdm_ns.SourceDetail,
+		'in CDM_EM2PESI but not in EM2PESI'
+		FROM [CDM_EM2PESI].[DBO].Note cdm_n INNER JOIN
+		[CDM_EM2PESI].[DBO].TAXON cdm_t ON cdm_n.TaxonFk = cdm_t.TaxonId LEFT OUTER JOIN
+		[CDM_EM2PESI].[DBO].NoteSource cdm_ns ON cdm_ns.NoteFk = cdm_n.NoteId INNER JOIN
+		[EM2PESI].[DBO].TAXON bm_t
+		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+		WHERE NOT EXISTS
+		(SELECT * FROM [EM2PESI].[DBO].Note LEFT OUTER JOIN [EM2PESI].[DBO].NoteSource
+		ON [EM2PESI].[DBO].Note.NoteId = [EM2PESI].[DBO].NoteSource.NoteFk
+		WHERE TaxonFk = bm_t.TaxonId 
+		AND ISNULL(Note_1,'') = ISNULL(cdm_n.Note_1,'')
+		AND ISNULL(Note_2,'') = ISNULL(cdm_n.Note_2,'')
+		AND ISNULL(NoteCategoryCache,'') = ISNULL(cdm_n.NoteCategoryCache,'')
+		AND ISNULL(LanguageCache,'') = ISNULL(cdm_n.LanguageCache,'')
+		AND ISNULL(SpeciesExpertName,'') = ISNULL(cdm_n.SpeciesExpertName,'')
+		AND ISNULL(LastAction,'') = ISNULL(cdm_n.LastAction,'')
+		AND LEFT(ISNULL(LastActionDate,'00:00:00'),18) = LEFT(ISNULL(cdm_n.LastActionDate,'00:00:00'),18)
+		AND ISNULL(SourceNameCache,'') = ISNULL(cdm_ns.SourceNameCache,'')
+		AND ISNULL(SourceDetail,'') = ISNULL(cdm_ns.SourceDetail,'')
+		)
+		ORDER BY cdm_n.NoteCategoryFk, cdm_t.Fullname,cdm_n.Note_1
+		
+	*/
+		IF @n_cdm = 0 AND @n_bm = 0 BEGIN
+			PRINT ('All note * notesource results are identical in both databases')
+		END
+
+------------------------------------------- Occurrence -------------------------------
+	PRINT ' '
+	PRINT 'OCCURRENCES'
+	
+	SELECT @n_bm = COUNT(*) FROM [EM2PESI].[DBO].Occurrence LEFT OUTER JOIN
+		[EM2PESI].[DBO].OccurrenceSource ON OccurrenceFk = OccurrenceId
+	SELECT @n_cdm = COUNT(*) FROM [CDM_EM2PESI].[DBO].Occurrence LEFT OUTER JOIN
+		[CDM_EM2PESI].[DBO].OccurrenceSource ON OccurrenceFk = OccurrenceId
+	SET @n = @n_bm - @n_cdm
+
+	SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
+	SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
+	SET @str_n = Cast(@n AS NVARCHAR)
+
+	IF @n = 0 BEGIN
+		PRINT ('Both databases have the same number of occurrence * occurrencesource results = ' + @str_n_bm)
+	END ELSE PRINT ('WARNING: Both databases DO NOT have the same number of occurrence * occurrencesource results, n_bm = ' + @str_n_bm + ' and n_cdm = '+ @str_n_cdm)
+
+		SELECT @n_bm = COUNT(*) -- occurrence * occurrencesource results only in EM2PESI
+			FROM [EM2PESI].[DBO].Occurrence bm_o INNER JOIN
+			[EM2PESI].[DBO].TAXON bm_t ON bm_o.TaxonFk = bm_t.TaxonId LEFT OUTER JOIN
+			[EM2PESI].[DBO].OccurrenceSource bm_os ON bm_os.OccurrenceFk = bm_o.OccurrenceId INNER JOIN
+			[CDM_EM2PESI].[DBO].TAXON cdm_t
+			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+			WHERE NOT EXISTS
+			(SELECT * FROM [CDM_EM2PESI].[DBO].Occurrence LEFT OUTER JOIN [CDM_EM2PESI].[DBO].OccurrenceSource
+			ON [CDM_EM2PESI].[DBO].Occurrence.OccurrenceId = [CDM_EM2PESI].[DBO].OccurrenceSource.OccurrenceFk
+			WHERE TaxonFk = cdm_t.TaxonId 
+				AND ISNULL(TaxonFullNameCache,'') = ISNULL(bm_o.TaxonFullNameCache,'')
+				AND ISNULL(AreaNameCache,'') = ISNULL(bm_o.AreaNameCache,'')
+				AND ISNULL(OccurrenceStatusCache,'') = ISNULL(bm_o.OccurrenceStatusCache,'')
+				AND ISNULL(Notes,'') = ISNULL(bm_o.Notes,'')
+				AND ISNULL(SpeciesExpertName,'') = ISNULL(bm_o.SpeciesExpertName,'')
+				AND ISNULL(LastAction,'') = ISNULL(bm_o.LastAction,'')
+				AND ISNULL(LastActionDate,'00:00:00') = ISNULL(bm_o.LastActionDate,'00:00:00')
+				AND ISNULL(SourceNameCache,'') = ISNULL(bm_os.SourceNameCache,'')
+				AND ISNULL(OldTaxonName,'') = ISNULL(bm_os.OldTaxonName,'')
+			)
+		SET @str_n_bm = Cast(@n_bm AS NVARCHAR)
+		IF @n_bm = 0 BEGIN
+			PRINT ('All occurrence * occurrencesource results in EM2PESI exist also in CDM_EM2PESI')
+		END ELSE PRINT ('WARNING: ' + @str_n_bm + ' existing occurrence * occurrencesource results for identical taxa in EM2PESI DO NOT exist in CDM_EM2PESI')
+	/*
+		SELECT cdm_t.TaxonId as cdmTID, bm_t.TaxonId bmTID, bm_t.Fullname, bm_o.TaxonFullNameCache, bm_o.AreaNameCache, bm_o.OccurrenceStatusCache, bm_o.Notes,
+		bm_o.SpeciesExpertName, bm_o.LastAction, bm_o.LastActionDate, bm_os.SourceNameCache, bm_os.OldTaxonName,
+		'in EM2PESI but not in CDM_EM2PESI'
+		FROM [EM2PESI].[DBO].Occurrence bm_o INNER JOIN
+		[EM2PESI].[DBO].TAXON bm_t ON bm_o.TaxonFk = bm_t.TaxonId LEFT OUTER JOIN
+		[EM2PESI].[DBO].OccurrenceSource bm_os ON bm_os.OccurrenceFk = bm_o.OccurrenceId INNER JOIN
+		[CDM_EM2PESI].[DBO].TAXON cdm_t
+		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+		WHERE NOT EXISTS
+		(SELECT * FROM [CDM_EM2PESI].[DBO].Occurrence LEFT OUTER JOIN [CDM_EM2PESI].[DBO].OccurrenceSource
+		ON [CDM_EM2PESI].[DBO].Occurrence.OccurrenceId = [CDM_EM2PESI].[DBO].OccurrenceSource.OccurrenceFk
+		WHERE TaxonFk = cdm_t.TaxonId 
+		AND ISNULL(TaxonFullNameCache,'') = ISNULL(bm_o.TaxonFullNameCache,'')
+		AND ISNULL(AreaNameCache,'') = ISNULL(bm_o.AreaNameCache,'')
+		AND ISNULL(OccurrenceStatusCache,'') = ISNULL(bm_o.OccurrenceStatusCache,'')
+		AND ISNULL(Notes,'') = ISNULL(bm_o.Notes,'')
+		AND ISNULL(SpeciesExpertName,'') = ISNULL(bm_o.SpeciesExpertName,'')
+		AND ISNULL(LastAction,'') = ISNULL(bm_o.LastAction,'')
+		AND ISNULL(LastActionDate,'00:00:00') = ISNULL(bm_o.LastActionDate,'00:00:00')
+		AND ISNULL(SourceNameCache,'') = ISNULL(bm_os.SourceNameCache,'')
+		AND ISNULL(OldTaxonName,'') = ISNULL(bm_os.OldTaxonName,'')
+		)
+		ORDER BY bm_t.Fullname, AreaNameCache 
+	*/
+		SELECT @n_cdm = COUNT(*) -- occurrence * occurrencesource results only in CDM_EM2PESI
+			FROM [CDM_EM2PESI].[DBO].Occurrence cdm_o INNER JOIN
+			[CDM_EM2PESI].[DBO].TAXON cdm_t ON cdm_o.TaxonFk = cdm_t.TaxonId LEFT OUTER JOIN
+			[CDM_EM2PESI].[DBO].OccurrenceSource cdm_os ON cdm_os.OccurrenceFk = cdm_o.OccurrenceId INNER JOIN
+			[EM2PESI].[DBO].TAXON bm_t
+			ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+			WHERE NOT EXISTS
+			(SELECT * FROM [EM2PESI].[DBO].Occurrence LEFT OUTER JOIN [EM2PESI].[DBO].OccurrenceSource
+			ON [EM2PESI].[DBO].Occurrence.OccurrenceId = [EM2PESI].[DBO].OccurrenceSource.OccurrenceFk
+			WHERE TaxonFk = bm_t.TaxonId 
+				AND ISNULL(TaxonFullNameCache,'') = ISNULL(cdm_o.TaxonFullNameCache,'')
+				AND ISNULL(AreaNameCache,'') = ISNULL(cdm_o.AreaNameCache,'')
+				AND ISNULL(OccurrenceStatusCache,'') = ISNULL(cdm_o.OccurrenceStatusCache,'')
+				AND ISNULL(Notes,'') = ISNULL(cdm_o.Notes,'')
+				AND ISNULL(SpeciesExpertName,'') = ISNULL(cdm_o.SpeciesExpertName,'')
+				AND ISNULL(LastAction,'') = ISNULL(cdm_o.LastAction,'')
+				AND ISNULL(LastActionDate,'00:00:00') = ISNULL(cdm_o.LastActionDate,'00:00:00')
+				AND ISNULL(SourceNameCache,'') = ISNULL(cdm_os.SourceNameCache,'')
+				AND ISNULL(OldTaxonName,'') = ISNULL(cdm_os.OldTaxonName,'')
+			)
+		SET @str_n_cdm = Cast(@n_cdm AS NVARCHAR)
+		IF @n_cdm = 0 BEGIN
+			PRINT ('All occurrence * occurrencesource results in CDM_EM2PESI exist also in EM2PESI')
+		END ELSE PRINT ('WARNING: ' + @str_n_cdm + ' existing occurrence * occurrencesource results for identical taxa in CDM_EM2PESI DO NOT exist in EM2PESI')
+	/*
+		SELECT cdm_t.TaxonId as cdmTID, bm_t.TaxonId bmTID, cdm_t.Fullname, cdm_o.TaxonFullNameCache, cdm_o.AreaNameCache, cdm_o.OccurrenceStatusCache, cdm_o.Notes,
+		cdm_o.SpeciesExpertName, cdm_o.LastAction, cdm_o.LastActionDate, cdm_os.SourceNameCache, cdm_os.OldTaxonName,
+		'in CDM_EM2PESI but not in EM2PESI'
+		FROM [CDM_EM2PESI].[DBO].Occurrence cdm_o INNER JOIN
+		[CDM_EM2PESI].[DBO].TAXON cdm_t ON cdm_o.TaxonFk = cdm_t.TaxonId LEFT OUTER JOIN
+		[CDM_EM2PESI].[DBO].OccurrenceSource cdm_os ON cdm_os.OccurrenceFk = cdm_o.OccurrenceId INNER JOIN
+		[EM2PESI].[DBO].TAXON bm_t
+		ON bm_t.IdInSource = cdm_t.IdInSource AND ISNULL(bm_t.GUID, '') = ISNULL(cdm_t.GUID, '')
+		WHERE NOT EXISTS
+		(SELECT * FROM [EM2PESI].[DBO].Occurrence LEFT OUTER JOIN [EM2PESI].[DBO].OccurrenceSource
+		ON [EM2PESI].[DBO].Occurrence.OccurrenceId = [EM2PESI].[DBO].OccurrenceSource.OccurrenceFk
+		WHERE TaxonFk = bm_t.TaxonId 
+		AND ISNULL(TaxonFullNameCache,'') = ISNULL(cdm_o.TaxonFullNameCache,'')
+		AND ISNULL(AreaNameCache,'') = ISNULL(cdm_o.AreaNameCache,'')
+		AND ISNULL(OccurrenceStatusCache,'') = ISNULL(cdm_o.OccurrenceStatusCache,'')
+		AND ISNULL(Notes,'') = ISNULL(cdm_o.Notes,'')
+		AND ISNULL(SpeciesExpertName,'') = ISNULL(cdm_o.SpeciesExpertName,'')
+		AND ISNULL(LastAction,'') = ISNULL(cdm_o.LastAction,'')
+		AND ISNULL(LastActionDate,'00:00:00') = ISNULL(cdm_o.LastActionDate,'00:00:00')
+		AND ISNULL(SourceNameCache,'') = ISNULL(cdm_os.SourceNameCache,'')
+		AND ISNULL(OldTaxonName,'') = ISNULL(cdm_os.OldTaxonName,'')
+		)
+		ORDER BY bm_t.Fullname, AreaNameCache 
+	*/
+		IF @n_cdm = 0 AND @n_bm = 0 BEGIN
+			PRINT ('All occurrence * occurrencesource results are identical in both databases')
+		END
+
+
+	PRINT ('End of check')
+
+
+END
\ No newline at end of file
