If you are installing SQL Server 2008 on a fresh instance of Windows Server, you will be prompted to install .Net 3.5 as a prerequisite. As long as you are using the older operating system versions, e.g. 2003, 2003R2, or 2008, you have the choice of (a) downloading from Microsoft or (b) letting the SQL Server installer install this prerequisite. For the MSDN download, see the following URL: http://msdn.microsoft.com/en-us/netframework/cc378097
However, if you happen to be installing SQL Server on Windows Server 2008R2, both the MSDN download and the automated SQL Server install of this .Net prerequisite will fail. This happened to me, and I went looking for the answer because I could get no further with the SQL Server installation. Turns out that .Net 3.5.1 is a feature that can be installed via the Server Manager in 2008R2. Here are the step-by-step installation instructions.
- Open Server Manager:
- Run Administrative Tools | Server Manager
- Click Features in the left-hand tree
- Click “Add New Feature” to initiate the “Add Features Wizard”
- Select the .Net Framework feature:
- When the wizards starts, it presents a welcome screen, click the Next button
- Expand the “.Net Framework 3.5.1 Features”
- If you plan to install IIS on this machine, stop: you should first install IIS and then come back to .Net 3.51
- Else, just click the checkbox called “.Net Framework 3.5.1”
(Note: do not click the checkbox called “.Net Framework 3.5.1 Features” because this installs portions of IIS!)
(Even More Details: from a security perspective, you should not install IIS on a database server.)
- Complete the installation:
- Click the Next button until you see the final screen.
- Click the Finish button at the final screen.
- Once you have complete this installation, you need to patch the server before proceeding further.
In addition to blogging that .Net 3.5.1 is a feature in Windows Server 2008R2, this article described how to reduce your exploitable footprint by avoiding unnecessarily installing IIS components on a SQL database server. In general, the less software you install on a server, the fewer vulnerabilities you are installing on the server. As always, patch often and patch thoroughly to reduce your exposure to known vulnerabilities.