Select Query slow for Non-clustered index
Because when your query using a non-clustered index (not covering every column), SQL Server finds your data with key lookup. This is more work than scan the entire clustered index.
SQL Server has a cost-based optimization. So, it compares two execution plans and chooses the less coster. But sometimes (depends on your statistics), it does wrong chooses.
Also, check out the tipping point good blog post from Brent Ozar.
If you change your query with a less SELECT col1,col2 than SELECT * and add columns on the non-clustered index as an include which are selecting, you can get rid of from key lookup operation. But, in your situation in which there is no condition, actually no need for the non clustered index.
I create table,index and write a query just like you. As you can see the cost of queries, a non-clustered index+key lookup more than the clustered index scan.


First Query:

SQL Server Execution Times:    CPU time = 32 ms,  elapsed time = 241
ms. SQL Server parse and compile time:     CPU time = 0 ms, elapsed
time = 0 ms.

Second Query:

SQL Server Execution Times:    CPU time = 125 ms,  elapsed time = 245
ms. SQL Server parse and compile time: