so I went to the SQL managment studio and found out that the table's primary key is lost !!!, this primary key was configured as a unique automatic value, why this happened?, has anyone had the same problem?
My guess is a DDL script was run that inadvertently removed the identity property. I suggest you review the default trace for clues. The script below will return all events from the default trace, including rollover files.
SELECT
trace.TextData
,trace.DatabaseName
,trace.ObjectName
,te.name AS EventName
,trace.EventSubClass
,trace.StartTime
,trace.EndTime
,trace.NTDomainName
,trace.NTUserName
,trace.HostName
,trace.ApplicationName
,trace.Spid
FROM (SELECT REVERSE(STUFF(REVERSE(path), 1, CHARINDEX(N'\', REVERSE(path)), '')) + N'\Log.trc' AS path
FROM sys.traces WHERE is_default = 1) AS default_trace_path
CROSS APPLY fn_trace_gettable(default_trace_path.path, DEFAULT) AS trace
JOIN sys.trace_events AS te ON
trace.EventClass=te.trace_event_id
ORDER BY StartTime;