Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

The Background:

Me and my colleague are opening a new website design & development company.

We have designed and implemented a website on Microsoft Visual Studio 2010 using Web forms in .NET Framework 4.

Because I was new to asp.NET at the time, I wasn't sure what Database to use. Therefore I created a new "Microsoft SQL Server Database File" and added all the tables etc.

I then worked with this configuration until the website was complete. The website works like a dream in Visual Studio.

The Problem:

We were supposed to be buying a server from a local source that cannot be named, and this server was supposed to have Microsoft SQL server 2005 for the database, and I'm assuming IIS to configure the server and handle requests etc (please keep in mind that my knowledge of servers is limited)

And this company were going to configure everything blah blah blah, get everything set up so all we have to do is put our website on it, and life is sweet.

The problem is, this company have messed us about, told us this and that and it turns out they're very unreliable and untrustworthy.

We've already spent a large sum of money with them and they are dragging their feet giving us the money back, saying what we asked is impossible, that we cant have SQL running on an old server yada yada yada.

The Question:

I have an asp.NET website with a SQL server database ( .mdf file, if that helps anything ) and we need to know what do we need to get it on the internet.

we've considered buying our own computer, putting MS server software on it, installing SQL server 2005, installing IIS and running it off that. But we don't know what to do or how to do it.

Before all this server hastle kicked off, i tried installing a copy of IIS on my computer, and hosting it from there as a test to get me used to the software, however I tried multiple tutorials, and all sorts and could not get our website to host!

There may be examples of this all over the internet but i cannot find an answer. I dont understand most of the things people are talking about on these articals.

I know I've rambled, But basically.

I just need to know HOW to put an asp.NET application on the internet, and what minimum requirements I need.

Do i even need SQL server software on my server? or is that purely for interacting with the sql database?

share|improve this question
add comment

2 Answers

up vote 2 down vote accepted

You shouldn't need SQL Server to put an ASP.NET application online. If your site requires database persistence, then yes, you'll need SQL Server installed, but not necessarily on the same server. If your requirements were that "we need to deploy a website", then there's no indication that SQL Server would be a requirement, and I would not expect them to give you access. Many hosts, such as http://discountasp.net, provide hosting for ASP.NET applications and SQL Server databases completely separately.

One solution that you DO have is to host your ASP.NET application on the server of this company (assuming you're still on speaking terms), and host your SQL Server database on another machine somewhere completely different - they don't have to be on the same machine. Your web.config file will let you change your connection string so you can have them separately.

I don't know the specifics of the conversation, but unless you tell them that you specifically need SQL Server (though most web applications do have a database of some kind and you can pretty well assume it's needed), hosting companies still reserve the right to give/sell SQL Server separately. If you have admin access to your hosting machine, I would suggest just installing SQL Server Express unless you need some of the more serious SQL features. Most of the time the reason hosts sell SQL Server databases/install separately is the EXTREMELY hefty license price tag of the the non-express version.

I hope this helps, and leave a comment if I need to go into more detail in a particular area.

share|improve this answer
    
Thank you for your answer. Just what I needed, Just one final summary. Assuming we had a friend that could deal with the setting-up/Configuration/maintenance and networking of the server, We had a fast desktop pc with a speedy internet connection and MS Server OS, SQL Server Express and IIS installed. Would that be all we need to run our asp.NET application? –  AlexMorley-Finch Sep 28 '11 at 15:28
    
Yes, that's all you'll need. I also agree with Joel Etherton's answer that you're probably better to go with a hosting provider like discountasp.net or someone similar. They'll manage the servers and can help you get your application installed if you're having trouble (since if you can't get it installed then you're probably not going to be paying them for hosting every month). –  Ryan Hayes Sep 28 '11 at 17:13
add comment

Given your inexperience with servers, their maintenance and the requirements for keeping websites alive (let alone machines, backup, networking, etc), you may very well be better served by using a purchased hosting provider. There are all kinds of hosting providers who offer site plans capable of hosting multiple websites and databases depending on your needs.

Don't forget that a major cost of a server isn't the hardware/software but the time and labor required to set it up and maintain it. If you are inexperienced with this, this cost can be prohibitive. It will take you far longer to perform these tasks than a comparable development task simply because you have to learn first.

That being said, I know HP and Dell both have "out of the box" server installations that simply need to have the first time configuration run on them and they should perform properly. Adding a proper server-level database software will be an add-on purchase/task, but it should still be fairly easy. Since .Net 4.0 can be run on a common desktop, the system requirements should be geared more towards the database you intend to run on the server and the actual load it is going to be serving.

My answer to your final 2 questions: I would recommend SQL server, but I would recommend having it as part of a plan from a hosting provider. I think you will have much more success if you model your business plan to focus on your existing talents and leave areas of potential weakness to services who specialize.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.