30.06.2013 Views

SQL Server Team-based Development - Red Gate Software

SQL Server Team-based Development - Red Gate Software

SQL Server Team-based Development - Red Gate Software

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapter 3: Change Management and Source Control<br />

environments can serve multiple purposes, depending on the stringency of your process,<br />

the number of teams involved, and the business requirements you're striving to meet.<br />

With this many servers, the migration problem becomes clear: you need a lot of change<br />

scripts; hence the need for automation.<br />

In order to support team development in any application that persists information to a<br />

relational database system, you will need somewhere to host the database server. <strong>SQL</strong><br />

<strong>Server</strong> can be run on large or small systems, and within virtual environments. I'm not<br />

going to spend time specifying when, or if, you need a physical or virtual server for these<br />

environments, or what size of environment you'll need. That's going to vary widely,<br />

depending on the applications you're developing, the processes you implement, the<br />

amount of money you're willing to spend, and any number of other variables. Instead,<br />

I'll focus here on the purposes to which a given server may be dedicated in order to<br />

achieve a goal, within the process of developing your application. Just remember, once<br />

you define the needs and purposes of the servers within your process, use them in a<br />

disciplined manner, in order to ensure the smoothness of your development process.<br />

For most development, in order to provide a mechanism for testing prior to deployment,<br />

you should have at least three basic environments:<br />

• a development environment where you can make mistakes without hurting your<br />

production system<br />

• a testing environment to ensure that anything you're releasing into the wild of<br />

production will work correctly<br />

• a production system where the data that supports your company will live.<br />

63

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!