migrando aplicações para o sql azure database
TRANSCRIPT
1
Migrando Aplicações para o SQL Azure Database
Visão GeralSQL Azure
Migração de AplicaçõesConsiderações sobre Data Access Tier
Migração de DatabasesMovendo Dados e Schema para o SQL DatabasesTransferindo grandes quantidades de dados para o SQL Databases
3
SQL Databases
Escala Elástica
Agilidade para o
Desenvolvedor
Auto-gerenciado
• Pague o que usar• Balanceamento de carga
flexível• SLAs• Presença mundial
• Facilidade de provisionamento e distribuição
• Alta disponibilidade e tolerância a falhas automático
• Sem necessidade de gerenciamento do servidr ou administração de VM
• Solução de banco de dados na nuvem em um modelo relacional
• Ampliação do conhecimento através do ecosistema existente conhecido pelo desenvolvedor
Topologias de Aplicações
Application/ Browser
App Code
(ASP.NET)
App Code(ASP.NET)
TSQ
L TD
S
SQL Azure
Azure
Code Near
App code/ Tools
SQL Azure
Code Far Hybrid
SQL
Azur
e / D
ata
Sync
SQL Azure
SQL Server App code/ Tools
App Code
(ASP.NET)
App Code(ASP.NET)
T-SQ
L / T
DS
TSQ
L TD
S
Azure
5
When Migrating Applications
Suporte a APIs de acesso a dadosModelo de segurançaConexãoSuporte administrativo
6
Data Access APIsAPIs suportadas
ADO.Net .Net 3.5 SP1 and 4.0 ODBC - SNAC 10Entity Framework .Net 3.5 SP1 and 4.0SQL Server 2008 Driver for PHP v1.1
Connection StringADO.Net - Encrypt=True and add @servername to User IDODBC - Encrypt=yes and add @servername to Uid
Authentication ModeSQL Auth
7
Data Access APIs
Protocols
Authentication Mode
Supported UnsupportedTCP/IP over port 1433 Dynamic ports
Named pipesShared memory
Supported UnsupportedSQL Auth Windows Auth
9
Security ManagementCriando Logins
CREATE LOGIN [login] WITH PASSWORD='password‘
Criando usuáriosCREATE USER user FROM LOGIN [login];
Gerenciamento de permissõesEXEC sp_addrolemember ‘dbmanager', 'user'; [securityadmin role]EXEC sp_addrolemember ‘loginmanager', 'user'; [dbcreator]
10
Gerenciamento do FirewallAcesso via PortalProgrammatic Access
System Views e Stored ProceduresView: sys.firewall_rulesStored Procedure: sp_set_firewall_ruleStored Procedure: sp_delete_firewall_rule
11
CollationsDefault Collation
Set to SQL_LATIN1_GENERAL_CP1_CI_ASAplica-se a…
Metadata, TempDb and Default para dadosNomes de objetos (tables, sprocs etc), variáveis do tipo String e Colunas quando nenhum collation for especificado
Use o collation específico quando necessário
CREATE TABLE [dbo].[ErrorLog]([ErrorLogID] [int] IDENTITY(1,1) NOT NULL,[ErrorTime] [datetime] NOT NULL,[UserName] [nvarchar(4000)] COLLATE Turkish_100_CI_AI NOT NULL,[ErrorNumber] [int] NOT NULL,[ErrorMessage] [nvarchar](4000) COLLATE Japanese_CI_AS NOT NULL,
CONSTRAINT [PK_ErrorLog_ErrorLogID] PRIMARY KEY CLUSTERED ([ErrorLogID] ASC) )
declare @str nvarchar(128) COLLATE Greek_CS_AI
12
Comparativo onPremAdmin – Sem administração física
Existe uma base masterNão existem objetos de nível de servidor (sp_configure, endpoints, DBCC, DMVs de nível de servidor and Views de Sistema…)
Paridade com SQL onPremMaioria das features disponíveis
Window FunctionsÍndices XMLSELECT INTOFull Text
https://azure.microsoft.com/pt-br/documentation/articles/sql-database-v12-whats-new/Algumas funcionalidades Não Disponíveis
Diagramas de bancos de dados, Database Mail, Event Notification, EXECUTE AS, Agent, Jobs, Filestream, Tabelas temporárias Globais, Service Broker etc.
https://azure.microsoft.com/pt-br/documentation/articles/sql-database-transact-sql-information/
14
Migrando Databases
Movendo Schema e/ou DadosOpções Disponíveis
SQL ServerDB2OracleMySQLAccessOutros
SQL Server Migration Assistant – SSMAhttps://blogs.msdn.microsoft.com/ssma/
15
Do SQL Server para Azure
FerramentasSSMS > Generate Script WizardSSMS > Import / Export WizardCopy Database commandSSISSQL Server Upgrade AdvisorSQL Azure Migration Wizard (Codeplex)
17
Generate Script Wizard
Migrando Databases para SQL Databases
23
DACs - DEMO
Migrando Databases to SQL Databases
34
Recomendações para transferência de dados para o SQL Databases
Divida os dados em múltiplos pacotes concorrentesAdcione os índices não clusterizados DEPOIS de carregar os dados.
Exemplo: Dois índices adicionais criados antes do carregamento de dados aumenta o tamanho da base em cerca de 50% e o tempo de carregamento em cerca de 170%.
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any
information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.