Sql Server - Deploy An Enterprise Application And Schema Changes With Zero Downtime
Jan 5, 2011
We have a huge ASP.NET web application which needs to be deployed to LIVE with zero or nearly zero downtime. Let me point out that I've read the following question/answers but unfortunately it doesn't solve our problems as our architecture is a little bit more complicated.
Let's say that currently we have two IIS servers responding to requests and both are connected to the same MSSQL server. The solution seems like a piece of cake but it isn't because of the major schema changes we have to apply from time to time. Because of it's huge size, a simple database backup takes around 8 minutes which has become unacceptable, but it is a must before every new deploy for security reasons.
Currently the best idea we came up is buying another SQL server which would be set up as a replica of the original DB. From the load balancer we would route all new traffic to one of the two IIS webservers. When the second webserver is free of running sessions then we can make deploy the new code. Now comes the hard part. At this point we would go offline with the website, take down the replication between the two SQL servers so we directly have a snapshot of the database in a hopefully consistent state (saves us 7.5 of the 8 minutes). Finally we would update the database schema on the main SQL server, and route all traffic via the updated webserver while we are upgrading the second webserver to the new version.
also share your thoughts regarding this solution. Can we somehow manage to eliminate the need for going offline with the website? How do bluechip companies with mammuth web applications do deployment?
Edit 1 (2010.01.12):
Another requirement is to eliminate manual intervention, so in fact we are looking for a way which can be applied in an automated way.
Let me just remind you the requirement list:
1. Backup of database
2a. Deploy of website
2b. Update of database schema
3. Change to updated website
4 (optional): easy way of reverting to the old website if something goes very wrong.
View 7 Replies
Similar Messages:
Aug 13, 2010
I'm thinking of a architectural way of displaying messages in our application (Flex-Asp.NET-SqlServer), mostly messages that announce for instance a downtime.Currently I was thinking of creating a table FlexMessage that holds the name of a message (based on that name I now where to put in Flex) and the value (the message itself). As a result however, someone will have to create these messages and also delete them when they are no longer valid. So, thinking further, I thought of creating messages having a startdate and enddate, so an interval in which they need to be displayed. Like this, someone could login to the management part and create a message that needs to be displayed from a certain date until a certain date.I could also hardcode it in the Flex Application, but that would mean putting a new build online (of the swf) each time something changes with a certain message.
View 1 Replies
Jan 7, 2010
I've created a Data Base project with some CLR functions and stored procedures.
I'd like to deploy the assembly under different schema then the default dbo.
Is it possible?
View 4 Replies
Jul 7, 2010
Question: I created an ASP.NET web application. Now it originally was meant for deployment on a webserver.
That is working, so, so far so good. My question now is: Is it possible to deploy it as a desktop-application, too? That is to say the installer installs some kind of server, plus the web application, configures the server to run this application on a localhost URL, and then creates a link in the start menu/desktop, where it opens that url (website, the application) on localhost in a web browser?
I think it should be possible, though the server wouldn't be IIS, because this is a windows component which can't be separately installed. Is there anything like this already out there? The nonplusultra would be that it only starts the server when you click on the shortcut.
View 4 Replies
Nov 2, 2010
My company is planning on having some planned down time, because of some server migrations. Their are about 20 different web applications (internet, and intranet). Any of which can go down at any one time because of the server migration of applications.
So, does anyone know if their is a way to provide a generic message to users if a particular application is down? Like a popup message box, or generic page for that particular application? The idea is to not write 20 different popups or 20 different Fyi-Web pages. But one single page or popup informing that the application is down.
View 2 Replies
Jun 10, 2010
Im using the MySql Membership-,Role- and ProfileProvider. If the mysql-server goes offline the site crashes (ofcourse). But when the mysql-server gets back online the site still crashes, complaining that the Role provider cant get initialized because of missing or incorrect schema. If I then make a meaningless change to the web.config (like adding a space somewhere) the site works again.
View 2 Replies
May 4, 2010
I have developed web application i need to deploy it on remote server.i am using asp.net 3.5 ,c# 3.0 and visual studio 2008,sql server 2005.using visual studio 2008 how i can make msi file to deploy application on server
View 5 Replies
May 24, 2010
I get this error when I deploy the application on the remote server. This application works fine on my local machine though. It is built in MSVisual studio 2008.
View 2 Replies
Apr 26, 2010
I have two webservers in a cluster serving a web application. Using MS Web Deploy to push a new version of the application to one server, and then again to synchronize the files to the other server in the cluster. It seems to be the most ordinary thing to do. But wouldn't there be a problemm, when one server is deployed with the new version, and the other is not yet finished. Will it not cause troubles, when a page loaded with the new version makes a webservice request and the balancer sends the request to the server with the old version?
What's the best way to avoid this? I thought about scripting a drainstop of the server, that we deploy to, and make sure only one server is running at a time. But I can't find anyone else, who seems to have written about such a solution. And guess that it doesn't scale very well too. Another solution could be to shut down all servers when updating. But that doesn't seems very clever.
View 2 Replies
Mar 16, 2010
I have a ASP.NET 3.5 web application and I would like to allow users to install this web application multiple times on the same server.
--------
WebApp1 - database1
WebApp2 - database2
WebApp3 - database3
View 2 Replies
Jul 31, 2010
I have developed a web application with ASP.Net 2.0 (VB Code Behind) and I am using My SQL as database.
I wish to sell the web application from my other website to multiple users. What would you suggest to be the best way to deliver this application? Fact is I can compile the front end script and provide the compiled version but I am not sure how to provide the associated MySQL database to them. I need to make sure that the buyers are not able to alter any code in the application or modify the preset data in the MySQL database. I do not wish to use the Setup Based deployment method as it will require the buyers to have administrative rights on the server, which may not be available on shared hosting.
But at the same time they must be able to get the web application up and running with minimal effort. I must be honest with you that I have developed only HTML based static websites till now and this would the first time I am launching an ASP.Net application.
View 1 Replies
Mar 20, 2011
for the last couple of days i've been trying to deploy an application that uses a sql express db on to my iis.up until now i was trying to upload it onto iis 5.1, but now i a brand new iis7.5 but i still get this annoying error:An attempt to attach an auto-named database for file C:application_nameApp_DataDatabase1.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.needless to say that there is no database with this name on my computer. i've set the application pool to .net framework 4.0.
View 2 Replies
May 11, 2010
i have develop my silver light application using asp.net and i want to deploy it , i am using vs 2010 and planing to use vsweb deployment project 2010 for beta
View 1 Replies
Mar 8, 2010
Can someone point me to a step-by-step guide on how to deploy ASP.Net applications to a totally empty and brand new Windows 2003 Server?The server has ASP.Net and the .Net framework installed on it. IIS is up and running. I have created a new application pool.
View 2 Replies
Nov 11, 2010
I'm trying to deploy my MVC 2.0 web application to a Windows 2003 server with IIS6, and can't find the means to do it. I read about clicking Build/Deploy, but I don't have this showing on my menu, and I have the professional version.
View 1 Replies
Jul 19, 2010
I am working on ASP.NET Ajax site. Application is working fine when I run in my local machine, but same code if I place in Server then it is giving "SpanID is undefined" Javascript error. I found error is due to UI.dll file.
View 2 Replies
Aug 20, 2010
I'm designing an enterprise web application interface based on an old system, and i planned to migrate the old frames layout to master page, but i noticed that if i use masterpages, the application users will be able to see the querystring or route path, and it could be a security issue. What is the best way to avoid this? Using frames? Masterpages with iframes as content? Masterpages with all PartialViews loaded by jquery?
View 1 Replies
Mar 18, 2010
Does MS have a sample enterprise application that demonstrates the use of different Enterprise library blocks (Logging, Dataaccess, Exception, Validation etc)? I am looking for something that uses best practices in using and integrating all these blocks in a single application.
View 3 Replies
May 23, 2010
I found a great control with example here for mvc It fulfills all my requirement but the problem is that it uses a js tree dll. Should I go on and used that example in my application? Do you people refrain from using 3rd party free dll in applications? How will I tell that it will not expire or not cause problem later on Forgive me if this is inappropriate question but thx in advance for any appropiate reply on this topic. just trying to get the point of view of you people on this
View 1 Replies
Nov 30, 2010
Im in the process of building an Enterprise Application, I want to have the DAL & BLL in separate projects, one each. With a structure like this, what should i do with the Models folder in MVC'S Default Project?
View 3 Replies
Jun 30, 2010
I have my validation configuration stored in validation.config in my Business Object project. The config file is set to copy if newer
The business object project is referenced by my web project, therefore, the validation.config copies to the bin folder of my web application.
In my web.config I have the validation configuration redirected:
[code]...
View 1 Replies
Jan 13, 2010
I have created my database in SQL Server 2005 Enterprise Edition and now planning to tranfer this databse to another server, But this other server is SQL Server Standard Edition, So if i try to attach my database which is created in Enterprise Edition will get sucesully connected to Standard Version ? or i will get any error message or i am doing something wrong ? This situation is fine or Version should be kept same ?
View 2 Replies
Jan 25, 2011
I developed a asp.net app on my development machine using VWD 2010 and used a SQL Express 2008 database.
I've moved my app to the production web server. I have a separate database server running SQL 2000 Enterprise that I would like to use for my production data. I've detached and copied my .mdf and .ldf files from my development/sql express box to the production/sql enterprise box and have tried to attach them in the enterprise manager but I get an error "Error 602: Could not find row in sysindexes for database ID 19, object ID 1, index ID 1. Run DBCC CHECKTABLE on sysindexes." and the attach process fails.
What do I need to do to use this 2008 express database on an 2000 enterprise server?
View 4 Replies
Aug 25, 2010
Apologies if this seems obvious, but after a week searching I can't find a clear answer to my problem.
I have developed an application in Visual Web Developer 2010 Express that uses the asp.net application services membership provider. It works well in development on my machine (data in the ASPNETDB.MDF database).
I packaged my application and deployed the relevant files with FTP to my shared hosting provider.
I took a copy of the ASPNETDB.MDF and restored it to the SQL Server 2008 on my shared hosting. I can connect to this through the Database Explorer in Visual Web Developer, but it doesn't contain any schema or data.
I know once I have the database in production I will have to make sure the connection string in web.config is poiting to it, but I don't know how to get the DB to production in the first place.
View 2 Replies
Jul 20, 2010
I have an application which has a website and a project. The project contains an executable file which I'm trying to run as a process from the website's Global.asax file's application_start(). When I run this application from localhost, everything runs smoothly but when I deploy the application on IIS, application_start's code is executed and I can see the process name in the taskmanager but I cannot see the window which the console application normally starts in (when i run the application on localhost) and neither is the code executed.
Here's what I'm doing:
-- copied website and project in wwwroot
-- made a virtual directory of the website
-- when i run the website, I see the process in taskmanager but the code is not executed.
I am new to deployment and IIS, and would really appreciate I someone could tell me what i'm missing
View 2 Replies