Migrating database to SQL Azure
As far as I know the key points to migrate an existing database to SQL Azure are:
- Tables has to contain a clustered index. This is mandatory.
- Schema and data migration should be done through data sync, bulk copy, or the SQL Azure migration wizard, but not with the restore option in SSMS.
- The .NET code should handle the transient conditions related with SQL Azure.
- The creation of logins is in开发者_Go百科 the
master
database. - Some TSQL features may be not supported.
And I think that's all, am I right? Am I missing any other consideration before starting a migration?
Kind regards.
Update 2015-08-06
- The Web and Business editions are no longer available, they are replaced by Basic, Standard and Premium Tiers.
- .CLR Stored Procedure Support is now available
- New: SQL Server support for Linked Server and Distributed Queries against Windows Azure SQL Database, more info.
Additional considerations:
- Basic tier allows 2 GB
- Standard tier allows 250 GB
- Premium tier allow 500 GB
The following features are NOT supported:
- Distributed Transactions, see feature request on UserVoice
- SQL Service broker, see feature request on UserVoice
I'd add in bandwidth considerations (for initial population and on-going bandwidth). This has cost and performance considerations.
Another potential consideration is any long running processes or large transactions that could be subject to SQL Azure's rather cryptic throttling techniques.
Another key area to point out are SQL Jobs. Since SQL Agent is not running, SQL Jobs are not supported.
One way to migrate these jobs are to refactor so that a worker role can kick off these tasks. The content of the job might be moved into a stored procedure to reduce re-architecture. The worker role could then be designed to wake up and run at the appropriate time and kick off the stored procedure.
精彩评论