Showing posts with label Database. Show all posts
Showing posts with label Database. Show all posts

Wednesday, November 4, 2009

Provisioning SQL Azure

The Microsoft SQL Azure provisioning process prepares and configures the hardware and software required to maintain your data at a Microsoft data center. The SQL Azure provisioning model describes the logical hierarchy of your Windows Azure Platform account, SQL Azure servers, and databases; it enables you to provision your data storage rapidly.

To use SQL Azure, you must first create a Windows Azure Platform account, which allows you to access all the services, such as Windows Azure, .NET Services, and SQL Azure. The Windows Azure Platform account is used to set up and manage your subscriptions and to bill for consumption of the Azure services.


Once the Windows Azure Platform account is created, you can use the SQL Azure portal to create one SQL Azure server. To provision additional SQL Azure servers, create additional subscriptions. The SQL Azure portal provides a user interface that you can use to provision servers and logins, and to quickly create databases.
The following diagram demonstrates the relationship between a Windows Azure Platform account, the SQL Azure servers, and databases.

As shown in the diagram, each Windows Azure Platform account can be associated with multiple SQL Azure servers (by using a different Windows Azure Platform subscription for each). Each SQL Azure server can be associated with one or more databases.

Servers
A SQL Azure server is a logical group of databases and acts as a central administrative point for multiple databases. Each SQL Azure server includes logins similar to those in instances of SQL Server on your premises.
Each SQL Azure server has a fully qualified unique domain name, which is produced during the SQL Azure provisioning process. For example servername.ctp.database.windows.net, servername refers to the name of the SQL Azure server:

Databases
Each SQL Azure server can contain multiple databases. In each database, you can create tables, views, indices, stored procedures, and other familiar database objects. In order to create a new database, you can either use the SQL Azure portal or the CREATE DATABASE (SQL Azure Database) statement (this will be covered in future blog post). The screenshot below shows the SQL Azure portal to create the database.


The provisioning process creates a master database automatically. The master database maintains a list of databases and keeps a track of logins, and which logins have permission to create databases or other logins. (This master database is equivalent to the master database in a new on-premise instance of SQL Server.) The master database also provides SQL Azure usage metrics that you can view.

Logins
During the provisioning process, SQL Azure creates a login for you that is the server-level principal of your SQL Azure server. This server-level principal is equivalent to the sa login in SQL Server. Additional SQL Azure databases and logins can then be created in the server, as needed. For more information on the sa login in an on-premise SQL Server instance.



Server-level administration for logins and databases in SQL Azure differs from an on-premise instance of SQL Server. More information, on this will be covered in future blog posts.
SQL Azure provides the same set of security principals that are available in SQL Server, such as:
  • SQL Server logins: Used to authenticate access to SQL Azure at the server level.
  • Database users: Used to grant access to SQL Azure at the database level.
  • Database roles: Used to group users and grant access to SQL Azure at the database level. 
Database-level administration for users and roles in SQL Azure is the same as for an on-premise instance of SQL Server.

Related Blog Posts
Introduction to SQL Azure
Getting Started with SQL Azure
SQL Azure Architecture Overview
How-To Access SQL Azure Data
Provisioning SQL Azure

Saturday, October 31, 2009

Introduction to SQL Azure

Microsoft SQL Azure Database is a cloud-based relational database service built on SQL Server technologies. It provides a highly available, scalable, multi-tenant database service hosted by Microsoft in the cloud. SQL Azure Database helps to ease provisioning and deployment of multiple databases. Developers do not have to install, setup, patch or manage any software. High availability and fault tolerance is built-in and no physical administration is required. SQL Azure Database supports Transact-SQL(T-SQL). Customers can use existing knowledge in T-SQL development and a familiar relational data model for symmetry with existing on-premises databases. SQL Azure Database can help reduce costs by integrating with existing toolsets and providing symmetry with on-premises and cloud databases.

Uses of SQL Azure Database:

  • Build scalable, custom web applications, which is especially a need for small to mid-size businesses, hobbyist, and startups
  • Build packaged line-of-business applications, which is attractive to traditional, SaaS ISVs and custom developers
  • Build corporate departmental applications
  • Consolidate multiple data sources in the Cloud and enable secure access from multiple locations, desktop and/or devices

Benefits of SQL Azure Database:

  • No need to install or patch software or other physical administration
  • Automatic high availability and fault tolerance
  • Simple provisioning and deployment of multiple databases
  • Scale databases up or down based on business needs
    Multi-tenant
  • Integration with SQL Server and tooling including Visual Studio
  • Support for T-SQL based familiar relational database model

SQL Azure Database Features

  • Relational Database Management Services (RDBMS)
  • Creating, accessing and manipulating tables, views, indexes, roles, stored procedures, triggers, and functions
  • Execute complex queries and joins across multiple tables
  • Insert, Update, and Delete
  • Constraints
  • Transactions
  • Temp tables
  • Basic functions (aggregates, math, string, date/time)
  • A subset of the existing SQL Server built-in stored procedures and system views
  • Support for tracking billable metrics in real time and for historical analysis

Programmability

  • Managed ADO.NET data access
  • Native ODBC
  • Support for PHP

Tools