Attach MDF File To SSMS I am attempting to attach a .mdf file to my SSMS install.  I go through the steps and at the very end I get this message.

What is causing the .mdf file to not attach?

Also, I have verified that the .mdf file is NOT read only.



EDIT
If I run Select @@Version I get the output that I have 2008 which is what my .mdf file requires..
As the error message clearly states, the version of the *.mdf file you are trying to attach is the internal version 661.


  The database 'E:\PRAKASH_PRIVATE\ACADEMIC DOC\PROJECT_DOC\MYPROJECT R3\MYPROJECT\APP_DATA\SHOPING.MDF' cannot be opened because it is version 661.


The SQL Server you are running supports the internal version number 655 and earlier.


  This server support version 655 and earlier. A downgrade is not supported.


To attach the MDF file you would have to find the corresponding SQL Server version number that has the internal database version 661 (the MDF file). This turns out to be SQL Server version 2008 R2.

The SQL Server version you are running is less than SQL Server 2008 R2 (possibly 2008).

Reference: Microsoft SQL Server Internal Database Versions and Compatibility Levels

The table is reproduced here to provide a complete source:

SQL Server Version  | Internal Database Version | Database Compatibility Level
--------------------+---------------------------+------------------------------
SQL Server 2019 CTP | 895 / 904                 | 150
--------------------+---------------------------+------------------------------
SQL Server 2017     | 869                       | 140
--------------------+---------------------------+------------------------------
SQL Server 2016     | 852                       | 130
--------------------+---------------------------+------------------------------
SQL Server 2014     | 782                       | 120
--------------------+---------------------------+------------------------------
SQL Server 2012     | 706                       | 110
--------------------+---------------------------+------------------------------
SQL Server 2012 CTP1|                           |
(a.k.a. 2011 Denali)| 684                       | 110
--------------------+---------------------------+------------------------------
SQL Server 2008 R2  | 660 / 661                 | 100
--------------------+---------------------------+------------------------------
SQL Server 2008     | 655                       | 100
--------------------+---------------------------+------------------------------
SQL Server 2005 SP2+|                           | 
VarDecimal enabled  | 612                       | 90
--------------------+---------------------------+------------------------------
SQL Server 2005     | 611                       | 90
--------------------+---------------------------+------------------------------
SQL Server 2000     | 539                       | 80
--------------------+---------------------------+------------------------------
SQL Server 7.0      | 515                       | 70
--------------------+---------------------------+------------------------------ 
SQL Server 6.5      | 408                       | 65    
--------------------+---------------------------+------------------------------
SQL Server 6.0      | ?                         | 60
--------------------+---------------------------+------------------------------


Your assumption that....


  If I run Select @@Version I get the output that I have 2008 which is what my .mdf file requires..


...is wrong. The mdf file contains a database with the version SQL Server 2008 R2 which is not the same as your SQL Server version SQL Server 2008.

To attache the mdf file you would have to install SQL Server 2008 R2.