in src/SqlAsyncCollector.cs [471:495]
public static string GetPrimaryKeysQuery(SqlObject table)
{
return $@"
SELECT
ccu.{ColumnName},
c.is_identity,
case
when isc.COLUMN_DEFAULT IS NULL then 'false'
else 'true'
end as {HasDefault}
FROM
INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc
INNER JOIN
INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE ccu ON ccu.CONSTRAINT_NAME = tc.CONSTRAINT_NAME AND ccu.TABLE_NAME = tc.TABLE_NAME
INNER JOIN
sys.columns c ON c.object_id = OBJECT_ID({table.QuotedFullName}) AND c.name = ccu.COLUMN_NAME
INNER JOIN
INFORMATION_SCHEMA.COLUMNS isc ON isc.TABLE_NAME = {table.QuotedName} AND isc.COLUMN_NAME = ccu.COLUMN_NAME
WHERE
tc.CONSTRAINT_TYPE = 'PRIMARY KEY'
and
tc.TABLE_NAME = {table.QuotedName}
and
tc.TABLE_SCHEMA = {table.QuotedSchema}";
}