You should be using the sys.columns catalog view. syscolumns is included only for backwards compatibility. It's really a SQL Server 2000 system table that shouldn't be used in SQL Server 2008 R2. select * from sys.columns where object_id = object_id('MyTable') order by column_id That should return the order of your columns. Note, though, these column id's might not be sequential.