Deploying ASP.NET 2 web site is the first issue facing the developer after finishing to create a web site is how to deploy the web site to a remote/Production server.
On the first part we will discuss how to move membership tables from the aspnetdb database to be apart of our database that our web site communicate with it.
On the second part we will go in details to configure our asp.net web site to change its default settings to read form our database not from aspnetdb database.
- Visual Studio 2005
- MS SQL 2005 Express Edition
- MS SQL 2005 Management Studio
Most of ISP or Hosting Servers don't support SQL Server Express Edition on their production server.
VS 2005 by default stores all security configuration and membership tables on a database called aspnetdb inside App_Data folder that created after the first run of the asp.net configuration tool.
This database used the SQLEXPRESS instance not SQL Server instance on your machine.
For this reason the developer should configure his db and asp.net web site to read from his database not from the SQL express before deploy his web site.
ASP.Net 2 provides us with a set of tools, one of them is the configuration required to any asp.net 2 web site.
Any web site has to contain tables that store the users and roles.
By default, ASP.Net stores all the information that contains the users and roles on the SQL Express instance that installed by default when you install VS 2005.
This part of the article gives you a step by step to how to move Membership tables from MS SQL express Edition to your database that you are used on your web site.
Moving membership tables from SQL express to your DB
Before starting to deploy your web site you have to move all the tables created when you run asp.net security configuration tool.
You run asp.net configuration tool, by clicking it from solution explorer, or from website menu --> asp.net configuration tool.
After running the asp.net configuration tool, asp.net will add app_Data folder on the web site and aspnetdb database will be added over there.
All the roles, users, application configuration you have made is stored on these tables.
And these DB is a seprate database than you are used on your web site.
What you have to do is move all these tables from aspnetdb to your db.
Asn.net provides a tool out of the box to move all these tables to any database you want to move to.
To run this tool, open VS 2005 command prompt and type this command:
Welcome window will appears to start setup membership database.
The first option provides to create all the membership tables to the selected database the will be selected further.
If you select to remove application service, this means that all membership tables will be removed from the selected database.
Make sure on this step, if you do this step by mistake you have to start asp.net configuration tool again and create your roles and users, then move it again to your database.
Select the server name and the authentication type then select the database, click next.
Confirmation message will appear, click next again.
At this step, the membership tables were created on your database.
After finishing of creating membership tables on your database, open SQL management studio to make sure those tables created successfully.
On this part we create the membership tables by using on of the tools that shipped with VS 2005 to create the membership tables by wizard.
On the second part we will discuss in detail how we prepare our web site before deploying on production/remote server to change all the asp.net membership default setting by read from our database which contains the membership tables not from the aspnetdb database.