همانطور که میدانید با استفاده از تعیین PrimaryKey برای یک جدول میتوان Unique بودن اطلاعات رکوردهای یک جدول را تضمین کرد.
توسط کوئری زیر میتوان لیست جداول فاقد PrimaryKey را در دیتابیس جاری بدست آورد.
[sql]
select schema_name(tab.schema_id) as [schema_name],
tab.[name] as table_name
from sys.tables tab
left outer join sys.indexes pk
on tab.object_id = pk.object_id
and pk.is_primary_key = 1
where pk.object_id is null
order by schema_name(tab.schema_id),
tab.[name]
[/sql]
Schema_name: نام شمای جدول
Table_name: نام جدول
یک نمونه از نتیجه اجرای کوئری بالا:
دانلود این اسکریپت