OK, here's my non-expert take on this to get you started...
1. OS:
Ubuntu is fine. It's well documented and very easy to install as a dual-boot system with the
Wubi installer, and the Debian-style
apt-get package management system makes installing extra software about as simple as it could be.
The main problem I've found with running Linux at home is the lack of drivers for some hardware e.g. printers, network
cards etc. There are ways around this but it can be a real PITA e.g. trying to get your network card working in Linux if you can't get online to download the tools/drivers you need to get the card working!
Alternatively, you could look at running Ubuntu inside a virtual machine. Download
VirtualBox and install it on your Windows PC, then you can
install Ubuntu to run inside VirtualBox. This is actually very easy to set up, and allows you to try out different flavours of Linux or set up alternative installations for different purposes, without abandoning your Windows system. But you will need plenty of RAM as you will effectively be running two operating systems at the same time.
2. Database:
AFAIK SQL Server doesn't run on Linux, does it? In any case, I'd suggest you stick to the open source DBs like MySQL or PostgreSQL (my favourite) as it will be much easier to find tools (e.g.
phpMyAdmin), drivers, documentation and help for these common options.
3. Scripting language:
I really like Python (still learning it) and I think it's a much cleaner OO language (with huge libraries for all kinds of specialised purposes), but most books/tutorials for beginners will probably use PHP and it's the most common language for many existing LAMP tools, CMS etc.
You should find PHP easy enough to pick up (easier than C++), and there are PHP plugins for Eclipse to make development easier.
If you are planning to develop your own web applications, I can also recommend you look at code frameworks e.g.
Zend Framework (which I've used), or
CodeIgniter or
Cake (which I haven't), which can give you a huge range of good quality code components to make it easier to develop robust and clean applications e.g. ZF includes a load of stuff similar to Java tools like
Struts for MVC development.
4. Pre-requisites:
There's always tons of stuff you could be learning first, but I'd just get a book on developing web applications with the LAMP stack or check out some online tutorials to get going initially. You can always dig into things in more detail (e.g. databases, web application design etc) as you discover the gaps in your knowledge. You'll probably need a simple tutorial or manual that you can keep handy for common Linux shell commands.
5. Books
Look on Amazon for PHP and MySQL and check out the book reviews, as this will give you a pretty good idea of which books are worth getting. Start out with maybe a Ubuntu/Linux book plus a "LAMP for beginners" type book, as this will get you up and running quickly. You will probably find you want to know more about PHP programming - my own books are a bit out of date now, but I found
PHP In Action to be very useful, as well as
Advanced PHP Programming. But check to see if there are more up-to-date books that will meet your needs, especially if you want to learn how to get the most out of the frameworks like ZF or CodeIgniter.
If you've learned C++ and Java, then you presumably already know the basics of OO design (or pick up a book on this). It would also be useful to learn about design patterns before you get too embroiled in your own major projects - try the
Head First Design Patterns book (which uses Java).
If you decide to get into more specialised areas - Linux admin, networking, security, HTML5/CSS/JavaScript, web application design etc - then you will need to research the best books etc yourself.
Finally, as a database developer, I would urge you to get a basic practical book on relational database design and development: even if you only learn a little, you will still be way ahead of all too many professional developers!
6/7. Downloading code examples etc
Work through your tutorial/introductory book first, to get a basic understanding of how this stuff works. Then you could download the code for open source content management systems (things like Drupal, Wordpress etc) and other packages to see how other people do it, although be warned: there is a lot of really cruddy PHP code out there!
Also look inside the Zend Framework components, as this project is heavily supported by Zend's professional PHP developers, so you might find the code quality is a little higher than some projects.
Have fun!