1
Migrando Aplicações para o SQL
Azure Database
Visão Geral
SQL Azure
Migração de Aplicações
Considerações sobre Data Access Tier
Migração de Databases
Movendo Dados e Schema para o SQL Databases
Transferindo grandes quantidades de dados para o SQL
Databases
3
SQL Databases
• 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)
TSQLTDS
SQL Azure
Azure
Code
Near
App code/ Tools
SQL Azure
Code
Far
Hybrid
SQLAzure/DataSync
SQL Azure
App code/ Tools
App
Code
(ASP.NET
)
App
Code
(ASP.NET)
T-SQL/TDS
TSQLTDS
Azure
5
When Migrating Applications
Suporte a APIs de acesso
a dados
Modelo de segurança
Conexão
Suporte administrativo
6
Data Access APIs
APIs suportadas
ADO.Net .Net 3.5 SP1 and 4.0
ODBC - SNAC 10
Entity Framework .Net 3.5 SP1 and 4.0
SQL Server 2008 Driver for PHP v1.1
Connection String
ADO.Net - Encrypt=True and add @servername to
User ID
ODBC - Encrypt=yes and add @servername to Uid
Authentication Mode
SQL Auth
7
Data Access APIs
Protocols
Authentication Mode
Supported Unsupported
TCP/IP over port 1433 Dynamic ports
Named pipes
Shared memory
Supported Unsupported
SQL Auth Windows Auth
9
Security Management
Criando Logins
CREATE LOGIN [login] WITH PASSWORD='password‘
Criando usuários
CREATE USER user FROM LOGIN [login];
Gerenciamento de permissões
EXEC sp_addrolemember ‘dbmanager', 'user'; [securityadmin role]
EXEC sp_addrolemember ‘loginmanager', 'user'; [dbcreator]
10
Gerenciamento do Firewall
Acesso via Portal
Programmatic Access
System Views e Stored Procedures
View: sys.firewall_rules
Stored Procedure: sp_set_firewall_rule
Stored Procedure: sp_delete_firewall_rule
11
Collations
Default Collation
Set to SQL_LATIN1_GENERAL_CP1_CI_AS
Aplica-se a…
Metadata, TempDb and Default para dados
Nomes 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 onPrem
Admin – Sem administração física
Existe uma base master
Nã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 onPrem
Maioria das features disponíveis
Window Functions
Índices XML
SELECT INTO
Full 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 Dados
Opções Disponíveis
SQL Server
DB2
Oracle
MySQL
Access
Outros
SQL Server Migration Assistant – SSMA
https://blogs.msdn.microsoft.com/ssma/
15
Do SQL Server para Azure
Ferramentas
SSMS > Generate Script Wizard
SSMS > Import / Export Wizard
Copy Database command
SSIS
SQL Server Upgrade Advisor
SQL Azure Migration Wizard (Codeplex)
17
Generate Script Wizard
Migrando Databases para SQL Databases
18
SQL Azure Migration Wizard
http://sqlazuremw.codeplex.com
23
DACs - DEMO
Migrando
Databases to
SQL Databases
34
RecomendaçõesparatransferênciadedadosparaoSQL
Databases
Divida os dados em múltiplos pacotes
concorrentes
Adcione 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.

Migrando Aplicações para o SQL Azure Database

  • 1.
    1 Migrando Aplicações parao SQL Azure Database Visão Geral SQL Azure Migração de Aplicações Considerações sobre Data Access Tier Migração de Databases Movendo Dados e Schema para o SQL Databases Transferindo grandes quantidades de dados para o SQL Databases
  • 2.
    3 SQL Databases • Pagueo 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
  • 3.
    Topologias de Aplicações Application/ Browser App Code (ASP.NET ) App Code (ASP.NET) TSQLTDS SQLAzure Azure Code Near App code/ Tools SQL Azure Code Far Hybrid SQLAzure/DataSync SQL Azure App code/ Tools App Code (ASP.NET ) App Code (ASP.NET) T-SQL/TDS TSQLTDS Azure
  • 4.
    5 When Migrating Applications Suportea APIs de acesso a dados Modelo de segurança Conexão Suporte administrativo
  • 5.
    6 Data Access APIs APIssuportadas ADO.Net .Net 3.5 SP1 and 4.0 ODBC - SNAC 10 Entity Framework .Net 3.5 SP1 and 4.0 SQL Server 2008 Driver for PHP v1.1 Connection String ADO.Net - Encrypt=True and add @servername to User ID ODBC - Encrypt=yes and add @servername to Uid Authentication Mode SQL Auth
  • 6.
    7 Data Access APIs Protocols AuthenticationMode Supported Unsupported TCP/IP over port 1433 Dynamic ports Named pipes Shared memory Supported Unsupported SQL Auth Windows Auth
  • 7.
    9 Security Management Criando Logins CREATELOGIN [login] WITH PASSWORD='password‘ Criando usuários CREATE USER user FROM LOGIN [login]; Gerenciamento de permissões EXEC sp_addrolemember ‘dbmanager', 'user'; [securityadmin role] EXEC sp_addrolemember ‘loginmanager', 'user'; [dbcreator]
  • 8.
    10 Gerenciamento do Firewall Acessovia Portal Programmatic Access System Views e Stored Procedures View: sys.firewall_rules Stored Procedure: sp_set_firewall_rule Stored Procedure: sp_delete_firewall_rule
  • 9.
    11 Collations Default Collation Set toSQL_LATIN1_GENERAL_CP1_CI_AS Aplica-se a… Metadata, TempDb and Default para dados Nomes 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
  • 10.
    12 Comparativo onPrem Admin –Sem administração física Existe uma base master Nã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 onPrem Maioria das features disponíveis Window Functions Índices XML SELECT INTO Full 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/
  • 11.
    14 Migrando Databases Movendo Schemae/ou Dados Opções Disponíveis SQL Server DB2 Oracle MySQL Access Outros SQL Server Migration Assistant – SSMA https://blogs.msdn.microsoft.com/ssma/
  • 12.
    15 Do SQL Serverpara Azure Ferramentas SSMS > Generate Script Wizard SSMS > Import / Export Wizard Copy Database command SSIS SQL Server Upgrade Advisor SQL Azure Migration Wizard (Codeplex)
  • 13.
    17 Generate Script Wizard MigrandoDatabases para SQL Databases
  • 14.
    18 SQL Azure MigrationWizard http://sqlazuremw.codeplex.com
  • 15.
  • 16.
    34 RecomendaçõesparatransferênciadedadosparaoSQL Databases Divida os dadosem múltiplos pacotes concorrentes Adcione 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%.
  • 17.
    © 2008 MicrosoftCorporation. 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.

Notas do Editor

  • #5 Code Far works with any type of code – i.e. Java, etc.. Does NOT have to be Azure or .NET
  • #21 For MySQL - http://www.microsoft.com/downloads/en/details.aspx?FamilyID=69739c8c-ac82-41de-b9e6-8fa5ae2594d9&displaylang=en For Access - http://www.microsoft.com/downloads/en/details.aspx?FamilyID=5abe098d-c7e1-46c6-994a-09a2856eef0b&displaylang=en
  • #36 SELECT SUM(reserved_page_count) * 8192 FROM sys.dm_db_partition_stats http://www.microsoft.com/windowsazure/sqlazure/datasync/default.aspx http://blogs.msdn.com/b/sync/archive/2010/08/31/sql-server-to-sql-azure-synchronization-using-sync-framework-2-1.aspx Supplied DMVs Supported Dynamic Management Views sys.dm_exec_requests sys.dm_exec_text_query_plan sys.dm_exec_sessions sys.dm_exec_connections sys.dm_tran_database_transactions sys.dm_db_partition_stats sys.dm_exec_query_plan sys.dm_exec_query_stats sys.dm_tran_active_transactions sys.dm_tran_session_transactions sys.dm_exec_sql_text sys.dm_tran_locks Monitoring SQL Azure using DMV http://msdn.microsoft.com/en-us/library/ff394114.aspx
  • #44 10/27/2016 11:46 PM