I see this come up from time to time, so I thought I would set the record straight; a server isn’t a machine. In SQL Azure, there is a concept of a server, which appears in the SQL Azure portal looking like this:
However, a server isn’t the same as a server in an on-premise SQL Server installation. In an on-premise SQL Server installation a server is synonymous with a machine, which has a fixed set of resources, storage, and hence can hold a limited number of databases.
With SQL Azure, a server is a TDS endpoint. Each of the databases created under that server are spread across multiple machines in the data center. A server in SQL Azure has unlimited capacity to hold additional databases, and has the full resources of the data center. In other words, there is no way for your SQL Azure server to run out of resources.
Another way to think about it is that you don’t have to create new servers in the data center in order to distribute your database load; SQL Azure does it automatically for you. With an on-premise SQL Server installation, the concepts of load balancing and redundancy require that you take the number of servers in consideration. With SQL Azure, one server will provide you with all the load balancing and redundancy you need in the data center.
A single SQL Azure server doesn’t mean a single point of failure; the TDS endpoints are serviced by multiple redundant SQL Azure front-end servers.
The SQL Azure front-end servers are the Internet-facing machines that expose the TDS protocol over port 1433. In addition to acting as the gateway to the service, these servers also provide some necessary customer features, such as account provisioning, billing, and usage monitoring. Most importantly, the servers are in charge of routing requests to the appropriate back-end server. SQL Azure maintains a directory that keeps track of where on the SQL Azure back-end servers your primary data and all the backup replicas are located. When you connect to SQL Azure, the front end looks in the directory to see where your database is located and forwards the request to that specific back-end node (your database).
Conceptually, there is no limit to the number of databases you can have under a SQL Azure server. However, by default, a SQL Azure account is restricted to 150 databases in each SQL Azure server, including the master database. An extension of this limit is available for your SQL Azure server. For more information, contact a customer support representative at the Microsoft Online Services Customer Portal.
Do you have questions, concerns, comments? Post them below and we will try to address them.
Where are the databases created/stored? It has to be on a HD or some sort of media that is inside a machine. So the statement "a server isn’t a machine" is not factually correct. A server whether a server is on-premise or anywhere else a server is a server and it is a machine. I would have been a better explanation to state that cloud computing, Azure all uses servers instead of a fixed server the databases are distributed. But again there would be a limit. Can there be infinite number of databases? If the answer is yes then why restrict to 150?
The terminology server in SQL Azure doesn't refer to a machine, it refers to a TDS endpoint, there are servers/machines, however this is not what we mean by server is the SQL Azure portal.
Since we bill after you use the service, the 150 machine restriction is to protect us from people that use the service and don't have the means to pay. However, if you contact customer service we will remove this restriction for your account.
I don't see the point of this article. In computer science, saying that a server is a machine is an abuse of language, a server alway was a computer program. A typical machine with Windows Server typicaly runs several servers, authentication server, file server, time server, http server, etc.
The point of this article is to explain that unlike in the traditional on-premises context, a server in SQL Azure is a logical construct that is not restricted to a single physical machine or virtual machine. It is a logical construct that allows associated underlying databases to scale out across the full scope of the data center. By contrast a physical SQL Server can scale up and is restricted in it's ability to host databases based on resources on the physical machine (or cluster) that it resides on.