Enabling MSSQL System Trace for DB Objects I am trying to get changed recorded in MSSQL server for tables, view and stored procedures.

I have tried to achieve the same by right clicking on the server->Reports->standard reports->schema changes history. But it doesn't show all the history from the beginning.

How far can I get sys trace from database as currently, I am getting records from last few months only. My requirement is to capture them from the very beginning.

Regards,
Zafor.
What you are using is part of a default trace, 2005 to 2012 SQL Server uses this but it is deprecated and in later versions system_health is an Extended Events session that is used going forward.

MSDN on default trace.

MSDN on system_health.

The default to store trace data for SQL Server is 20MB, so it is not a time based operation per se, but a space based. So it makes sense you can't see everything but you do see some data.

MSSQLTips: Aaron Bertrand on historical traces.

A common recommendation is to create a script setup to copy the data into a table that won't be deleted or to move and aggregate the trace log files. 

For Extended Events, SQL Server will store up to four 5MB files, below is an article to view and adjust those settings for greater retention.

SQLWorldWide:Taiob Ali on Extended Event file retention.