SlideShare ist ein Scribd-Unternehmen logo
1 von 50
Downloaden Sie, um offline zu lesen
CHAPTER
A to Z for
SQL Azure Databases
Athens, GreeceAntonios Chatzipavlis
SQLschool.gr Founder, Principal Consultant
SQL Server Evangelist, MVP on SQL Server
Apr 25, 2015
I have been started with computers.
I started my professional carrier in computers industry.
I have been started to work with SQL Server version 6.0
I earned my first certification at Microsoft as Microsoft Certified Solution
Developer (3rd in Greece) and started my carrier as Microsoft Certified
Trainer (MCT) with more than 20.000 hours of training until now!
I became for first time Microsoft MVP on SQL Server
I created the SQL School Greece (www.sqlschool.gr)
I became MCT Regional Lead by Microsoft Learning Program.
I was certified as MCSE : Data Platform, MCSE: Business Intelligence
Antonios Chatzipavlis
Database Architect
SQL Server Evangelist
MCT, MCSE, MCITP, MCPD, MCSD, MCDBA,
MCSA, MCTS, MCAD, MCP, OCA, ITIL-F
1982
1988
1996
1998
2010
2012
2013
CHAPTER
Antonios
Chatzipavlis
Vasilis
Ioannidis
Fivi
Panopoulou
Sotiris
Karras
TEAM
My day
… and more than 3500 databases
Follow us in social media
Twitter @antoniosch / @sqlschool
Facebook fb/sqlschoolgr
YouTube yt/user/achatzipavlis
LinkedIn SQL School Greece group
Pinterest pi/SQLschool/
help@sqlschool.gr
• Getting started with Microsoft SQL Azure Database
• Configuration and pricing
• Using Azure portal, SSMS and PowerShell with SQL Azure Databases
• Differences between SQL Server and Microsoft Azure SQL Database
• Migrating databases on SQL Azure databases
• Securing SQL Azure Database
• Backup and Restore SQL Azure databases
• Designing and tuning for scalability and high performance
• Monitoring and management
• V12 new features
Agenda
CHAPTER
Getting started with
Microsoft SQL Azure Database
• Infrastructure as a Service ( IaaS)
• Platform as a Service (PaaS)
• Software as a Service (SaaS)
The Microsoft Azure cloud
• Creating a Microsoft account
• http://signup.live.com
• Creating a Microsoft Azure subscription
• http://www.windowsazure.com.
Getting signed up for SQL Database
DEMO
CHAPTER
Creating SQL Azure
database
CHAPTER
Configuration and pricing
• An instance of SQL Server can host multiple databases.
• Create an administrator account user name with a strong password
• Specify the geographical region where the server should be located
physically.
• To achieve the best performance, you should choose the region
closest to your consumers.
• Be sure that any Microsoft Azure cloud Web sites and services are hosted in the
same region as the SQL Database servers they communicate with.
• By locating both in the same region, you will avoid the bandwidth-based fee that
gets incurred when your cloud sites, services, and databases communicate across
different Azure regions.
• You will also reduce latency, which results in significantly better performance.
Creating a server
• Quick Create
• This is a 1-GB Web Edition SQL Database with the default collation.
• Custom Create
• You have control over the options edition, size, and collation.
• Import
• Import an existing database from a BACPAC file.
• A BACPAC file is, essentially, a backup of an entire database (schema and
data), stored as a binary large object (BLOB).
Creating a database
It is important to understand that the IP address that needs to be
specified is not your IP address on your local network, but the IP
address that the Microsoft Azure datacenter sees when you
attempt to access something.
Setting firewall rules
• SQL storage
• Client bandwidth
• Backup storage bandwidth
• Optimizing your costs
Budgeting for SQL Database
• SQL storage
• Client bandwidth
• Backup storage bandwidth
• Optimizing your costs
Budgeting for SQL Database
The biggest cost of using SQL Database is for the actual disk
space required for storage in Microsoft Azure
If you already have an on-premises SQL Server database and
would like to calculate the size of the database for
estimating the migration cost to SQL Database,
SELECT (SUM(reserved_page_count) * 8192) /
1024 / 1024 AS database_size_MB
FROM sys.dm_db_partition_stats
• SQL storage
• Client bandwidth
• Backup storage bandwidth
• Optimizing your costs
Budgeting for SQL Database
• If you connect to your SQL database from within the same datacenter,
you do not incur any bandwidth charges for the data flowing either in
to or out of the database.
• If you connect to the database from outside the datacenter, your
database incurs only “egress” charges for bandwidth usage, which
means that data flowing out of the database to clients is charged, while
“ingress” flows (data coming into the database) are free.
• The charges are also different in different areas of the world.
• Client bandwidth pricing is based on the location of the Microsoft
Azure datacenter, regardless of where the client accessing the database
is located.
• SQL storage
• Client bandwidth
• Backup storage bandwidth
• Optimizing your costs
Budgeting for SQL Database
• If you have a 100-MB database and you have backups taken
every day, your bandwidth charges are as follows
0.1 GB X $0.12/GB X 30 days = $0.36/month
• If you choose to take backups each hour, your bandwidth
charges would be as follows
0.1 GB X $0.12/GB X 24 hours/day X 30 days = $8.64/month
• If you choose to run those backups within the same
datacenter, the bandwidth is free.
• SQL storage
• Client bandwidth
• Backup storage bandwidth
• Optimizing your costs
Budgeting for SQL Database
• Don’tstoreBLOBs in thedatabase.
• Cycle outold recordsand tables in yourdatabase.
• Place yourSQL Databasein the samedatacenter as your
websites,mobile services,and otherAzurecomponentsthat
will be clients of the database.
• Use a strategyfor removingold backups suchthat you
maintainhistorybut reduce storageneeds.
• Insteadof usinga remotestorageaccountfor yourbackups,
usegeo-replicated storageto keep fromincurringbandwidth
charges.
• If youintendto usea substantialamountof Azureresources
for yourapplication,you can chooseto use a volume
purchaseplan.
CHAPTER
Using Azure portal, SSMS
and
PowerShell with SQL Azure Databases
DEMO
CHAPTER
Using Azure
Management Portal
DEMO
CHAPTER
Using SSMS
• Installing the Microsoft Azure PowerShell cmdlets
• http://azure.microsoft.com/en-us/downloads/
Using PowerShell
DEMO
CHAPTER
Using PowerShell
CHAPTER
Differences between SQL Server
and
Microsoft Azure SQL Database
• Agent Service
• Audit
• Backup / Restore
• Browser Service
• Change Data Capture (CDC)
• Common Language Runtime (CLR)
• Compression
• Database Object naming convention
• Extended events
• Extended stored procedures
• File streaming (FILESTREAM)
Unsupported features before V12 release
• Full-Text Searching (FTS)
• Mirroring
• Partitioning
• Replication
• Resource Governor
• Service Broker
• System stored procedures
• Tables without a clustered index
• Transparent Data Encryption (TDE)
• USE statement
• XSD and XML indexing
• Allows connections only over TCP/IP.
• Does not support Windows authentication.
• Often requires that @<server> is appended to the login user name in connection strings.
• Communicates only through port 1433
• Does not support static or dynamic port allocation like SQL Server does.
• Fully support of Multiple Active Result Sets (MARS)
• SQL Database connections can drop unexpectedly, and you need to account for this
condition in your applications.
• The latest version of the Entity Framework (EF6, Microsoft’s recommended data access API for .NET) has a
new Connection Resiliency feature, which automatically handles the retry logic for dropped connections.
• The Microsoft Enterprise Library Transient Fault Handling Application Block, lets you define and implement
retry strategies to deal with dropped connections.
• The ADO.NET SqlConnection class has an OpenWithRetry extension method that handles the retry logic
based on the default retry policy
SQL Database Connection limitations
CHAPTER
Migrating databases
on
SQL Azure databases
DEMO
CHAPTER
Migrating data using
Transact-SQL scripts
DEMO
CHAPTER
Importing a BACPAC to
Microsoft Azure SQL
Database
CHAPTER
Securing SQL Azure Database
• SQL Database Firewall restricts access to SQL Database based on
the origin IP address of the connection.
• SQL Database Firewall rules allow connections to be made to a SQL
Database server, they do not authorize access to objects within the
SQL Database instance.
• You can configure database-level firewall rules using the
sp_set_database_firewall_rule stored procedure found in each
database.
• SQL Database server-based firewall rules are defined for an entire
SQL Database server, they are stored in the master database
Configuring SQL Database Firewall
• Windows Authentication is not supported
• CREATE LOGIN <name> WITH PASSWORD='<Password>‘
• Server-level permissions
• loginmanager
• This role has prermissions to create logins in the SQL Database server
• Similar to the securityadmin role in SQL Server
• dbmanager
• This role has permissions to create databases in a SQL Database server.
• Similar to dbcreator role in SQL Server
• CREATE USER <name> FROM LOGIN <login_name>
• EXEC sp_addrolemember 'loginmanager', <‘user_name’>'
• EXEC sp_addrolemember 'dbmanager', <‘user_name’>
Authenticating and authorizing users
CHAPTER
Backup and Restore SQL Azure databases
• BACPAC files do not provide transactional consistency
• BACPAC is by copying tables individually, and modifications could occur between
the time that the first table and last table are copied
• The Database Copy feature creates a new database from an existing
SQL Database that is transactionally consistent when the copy
finishes.
• It does this by replicating any changes that are made to the source database while
the database is copying at the end of the process.
• Database copies can be created either on the same SQL Database server or on a
different server within the same region.
CREATE DATABASE <dbname> AS COPY OF <server>.<dbname_copy>
Copying a database
SELECT name, state_desc FROM sys.databases
WHERE name = <‘dbname‘>
You can obtain additional details about the copy operation
SELECT * FROM sys.dm_database_copies AS c
INNER JOIN sys.databases AS d
ON c.database_id = d.database_id
WHERE d.name = <‘dbname‘>
Monitoring the progress of a database copy operation
Exporting a BACPAC
Exporting a BACPAC
Scheduling BACPAC exports
CHAPTER
Designing and tuning for scalability
and high performance
• Opening late, closing early
• Pooling connections
• Recovering from connection faults
Managing SQL Database connections
• Encapsulate complex data access in stored procedures
• Batch using table-valued parameters
• Use client-side storage and caching
• Avoid retrieving metadata at runtime
Minimizing round trips
CHAPTER
Monitoring and management
DEMO
CHAPTER
Monitoring using the
management portal
Dynamic management views and functions
CHAPTER
V12 new features
• Users in Contained databases
• Table partitioning
• Larger transactions
• Online index build and rebuild
• Checkpoint support
• ALTER TABLE enhancements
• TRUNCATE TABLE enhancements
• More DBCC commands
• Dynamic data masking preview
• Row-level security (RLS) preview
• V12 New Features
• Window functions in Transact-SQL queries
• .NET CLR integration
• Change tracking for data
• Table as a heap
• Application roles
• Several DMVs are added in V12
• Parallel processing for queries
• Briefer I/O latency
• Increased IOPS
• Log rate
http://azure.microsoft.com/en-us/documentation/articles/sql-database-preview-whats-new/
Thank you
SELECT
KNOWLEDGE
FROM
SQL SERVER
http://www.sqlschool.gr
Copyright © 2015 SQL School Greece

Weitere ähnliche Inhalte

Was ist angesagt?

Sql server 2012 dba online training
Sql server 2012 dba online trainingSql server 2012 dba online training
Sql server 2012 dba online training
sqlmasters
 

Was ist angesagt? (20)

SQL Server 2016 Editions
SQL Server 2016 Editions SQL Server 2016 Editions
SQL Server 2016 Editions
 
Sql server 2014 online operations
Sql server 2014 online operationsSql server 2014 online operations
Sql server 2014 online operations
 
SQL Server 2016 BI updates
SQL Server 2016 BI updatesSQL Server 2016 BI updates
SQL Server 2016 BI updates
 
SQL Server 2016: Just a Few of Our DBA's Favorite Things
SQL Server 2016: Just a Few of Our DBA's Favorite ThingsSQL Server 2016: Just a Few of Our DBA's Favorite Things
SQL Server 2016: Just a Few of Our DBA's Favorite Things
 
Everything you need to know about SQL Server 2016
Everything you need to know about SQL Server 2016Everything you need to know about SQL Server 2016
Everything you need to know about SQL Server 2016
 
Scalable relational database with SQL Azure
Scalable relational database with SQL AzureScalable relational database with SQL Azure
Scalable relational database with SQL Azure
 
SQL server 2016 New Features
SQL server 2016 New FeaturesSQL server 2016 New Features
SQL server 2016 New Features
 
Microsoft SQL Server 2012 Components and Tools (Quick Overview) - Rev 1.3
Microsoft SQL Server 2012 Components and Tools (Quick Overview) - Rev 1.3Microsoft SQL Server 2012 Components and Tools (Quick Overview) - Rev 1.3
Microsoft SQL Server 2012 Components and Tools (Quick Overview) - Rev 1.3
 
Azure SQL Database for the SQL Server DBA - Azure Bootcamp Athens 2018
Azure SQL Database for the SQL Server DBA - Azure Bootcamp Athens 2018 Azure SQL Database for the SQL Server DBA - Azure Bootcamp Athens 2018
Azure SQL Database for the SQL Server DBA - Azure Bootcamp Athens 2018
 
SQL Server 2016 new features
SQL Server 2016 new featuresSQL Server 2016 new features
SQL Server 2016 new features
 
Azure SQL Database Introduction by Tim Radney
Azure SQL Database Introduction by Tim RadneyAzure SQL Database Introduction by Tim Radney
Azure SQL Database Introduction by Tim Radney
 
Live Query Statistics & Query Store in SQL Server 2016
Live Query Statistics & Query Store in SQL Server 2016Live Query Statistics & Query Store in SQL Server 2016
Live Query Statistics & Query Store in SQL Server 2016
 
SQLServer Database Structures
SQLServer Database Structures SQLServer Database Structures
SQLServer Database Structures
 
Microsoft SQL Family and GDPR
Microsoft SQL Family and GDPRMicrosoft SQL Family and GDPR
Microsoft SQL Family and GDPR
 
Implementing Mobile Reports in SQL Sserver 2016 Reporting Services
Implementing Mobile Reports in SQL Sserver 2016 Reporting ServicesImplementing Mobile Reports in SQL Sserver 2016 Reporting Services
Implementing Mobile Reports in SQL Sserver 2016 Reporting Services
 
Trainmesfottech - Sql Server DBA Training Course Content
Trainmesfottech - Sql Server DBA Training Course ContentTrainmesfottech - Sql Server DBA Training Course Content
Trainmesfottech - Sql Server DBA Training Course Content
 
How SQL Server 2016 SP1 Changes the Game
How SQL Server 2016 SP1 Changes the GameHow SQL Server 2016 SP1 Changes the Game
How SQL Server 2016 SP1 Changes the Game
 
Introduction to snowflake
Introduction to snowflakeIntroduction to snowflake
Introduction to snowflake
 
Stretch Database
Stretch DatabaseStretch Database
Stretch Database
 
Sql server 2012 dba online training
Sql server 2012 dba online trainingSql server 2012 dba online training
Sql server 2012 dba online training
 

Ähnlich wie A to z for sql azure databases

World2016_T5_S5_SQLServerFunctionalOverview
World2016_T5_S5_SQLServerFunctionalOverviewWorld2016_T5_S5_SQLServerFunctionalOverview
World2016_T5_S5_SQLServerFunctionalOverview
Farah Omer
 
Azure from scratch part 3 By Girish Kalamati
Azure from scratch part 3 By Girish KalamatiAzure from scratch part 3 By Girish Kalamati
Azure from scratch part 3 By Girish Kalamati
Girish Kalamati
 
24 HOP edición Español -Diferentes técnicas de administración de logins y usu...
24 HOP edición Español -Diferentes técnicas de administración de logins y usu...24 HOP edición Español -Diferentes técnicas de administración de logins y usu...
24 HOP edición Español -Diferentes técnicas de administración de logins y usu...
SpanishPASSVC
 

Ähnlich wie A to z for sql azure databases (20)

Azure Databricks – Customer Experiences and Lessons Denzil Ribeiro Madhu Ganta
Azure Databricks – Customer Experiences and Lessons Denzil Ribeiro Madhu GantaAzure Databricks – Customer Experiences and Lessons Denzil Ribeiro Madhu Ganta
Azure Databricks – Customer Experiences and Lessons Denzil Ribeiro Madhu Ganta
 
Azure SQL Database
Azure SQL Database Azure SQL Database
Azure SQL Database
 
Azure - Data Platform
Azure - Data PlatformAzure - Data Platform
Azure - Data Platform
 
Should I move my database to the cloud?
Should I move my database to the cloud?Should I move my database to the cloud?
Should I move my database to the cloud?
 
Sql Server 2014 Hybrid Cloud
Sql Server 2014 Hybrid Cloud  Sql Server 2014 Hybrid Cloud
Sql Server 2014 Hybrid Cloud
 
World2016_T5_S5_SQLServerFunctionalOverview
World2016_T5_S5_SQLServerFunctionalOverviewWorld2016_T5_S5_SQLServerFunctionalOverview
World2016_T5_S5_SQLServerFunctionalOverview
 
Working with azure database services platform
Working with azure database services platformWorking with azure database services platform
Working with azure database services platform
 
SQLSaturday#290_Kiev_WindowsAzureDatabaseForBeginners
SQLSaturday#290_Kiev_WindowsAzureDatabaseForBeginnersSQLSaturday#290_Kiev_WindowsAzureDatabaseForBeginners
SQLSaturday#290_Kiev_WindowsAzureDatabaseForBeginners
 
Tech-Spark: Azure SQL Databases
Tech-Spark: Azure SQL DatabasesTech-Spark: Azure SQL Databases
Tech-Spark: Azure SQL Databases
 
Azure from scratch part 3 By Girish Kalamati
Azure from scratch part 3 By Girish KalamatiAzure from scratch part 3 By Girish Kalamati
Azure from scratch part 3 By Girish Kalamati
 
Exploring sql server 2016
Exploring sql server 2016Exploring sql server 2016
Exploring sql server 2016
 
Blue Green Sitecore Deployments on Azure
Blue Green Sitecore Deployments on AzureBlue Green Sitecore Deployments on Azure
Blue Green Sitecore Deployments on Azure
 
Implement SQL Server on an Azure VM
Implement SQL Server on an Azure VMImplement SQL Server on an Azure VM
Implement SQL Server on an Azure VM
 
SQL ON Azure (decision-matrix)
SQL  ON  Azure (decision-matrix)SQL  ON  Azure (decision-matrix)
SQL ON Azure (decision-matrix)
 
SQL Database on Azure
SQL Database on AzureSQL Database on Azure
SQL Database on Azure
 
24 HOP edición Español -Diferentes técnicas de administración de logins y usu...
24 HOP edición Español -Diferentes técnicas de administración de logins y usu...24 HOP edición Español -Diferentes técnicas de administración de logins y usu...
24 HOP edición Español -Diferentes técnicas de administración de logins y usu...
 
Adelaide Global Azure Bootcamp 2018 - Azure 101
Adelaide Global Azure Bootcamp 2018 - Azure 101Adelaide Global Azure Bootcamp 2018 - Azure 101
Adelaide Global Azure Bootcamp 2018 - Azure 101
 
KoprowskiT_SQLSat419_WADBforBeginners
KoprowskiT_SQLSat419_WADBforBeginnersKoprowskiT_SQLSat419_WADBforBeginners
KoprowskiT_SQLSat419_WADBforBeginners
 
AZURE Data Related Services
AZURE Data Related ServicesAZURE Data Related Services
AZURE Data Related Services
 
KoprowskiT_SQLRelay2014#9_London_FromPlanToBackupToCloud
KoprowskiT_SQLRelay2014#9_London_FromPlanToBackupToCloudKoprowskiT_SQLRelay2014#9_London_FromPlanToBackupToCloud
KoprowskiT_SQLRelay2014#9_London_FromPlanToBackupToCloud
 

Mehr von Antonios Chatzipavlis

Mehr von Antonios Chatzipavlis (20)

Data virtualization using polybase
Data virtualization using polybaseData virtualization using polybase
Data virtualization using polybase
 
SQL server Backup Restore Revealed
SQL server Backup Restore RevealedSQL server Backup Restore Revealed
SQL server Backup Restore Revealed
 
Migrate SQL Workloads to Azure
Migrate SQL Workloads to AzureMigrate SQL Workloads to Azure
Migrate SQL Workloads to Azure
 
Machine Learning in SQL Server 2019
Machine Learning in SQL Server 2019Machine Learning in SQL Server 2019
Machine Learning in SQL Server 2019
 
Workload Management in SQL Server 2019
Workload Management in SQL Server 2019Workload Management in SQL Server 2019
Workload Management in SQL Server 2019
 
Loading Data into Azure SQL DW (Synapse Analytics)
Loading Data into Azure SQL DW (Synapse Analytics)Loading Data into Azure SQL DW (Synapse Analytics)
Loading Data into Azure SQL DW (Synapse Analytics)
 
Introduction to DAX Language
Introduction to DAX LanguageIntroduction to DAX Language
Introduction to DAX Language
 
Building diagnostic queries using DMVs and DMFs
Building diagnostic queries using DMVs and DMFs Building diagnostic queries using DMVs and DMFs
Building diagnostic queries using DMVs and DMFs
 
Exploring T-SQL Anti-Patterns
Exploring T-SQL Anti-Patterns Exploring T-SQL Anti-Patterns
Exploring T-SQL Anti-Patterns
 
Designing a modern data warehouse in azure
Designing a modern data warehouse in azure   Designing a modern data warehouse in azure
Designing a modern data warehouse in azure
 
Modernizing your database with SQL Server 2019
Modernizing your database with SQL Server 2019Modernizing your database with SQL Server 2019
Modernizing your database with SQL Server 2019
 
Designing a modern data warehouse in azure
Designing a modern data warehouse in azure   Designing a modern data warehouse in azure
Designing a modern data warehouse in azure
 
Sqlschool 2017 recap - 2018 plans
Sqlschool 2017 recap - 2018 plansSqlschool 2017 recap - 2018 plans
Sqlschool 2017 recap - 2018 plans
 
Statistics and Indexes Internals
Statistics and Indexes InternalsStatistics and Indexes Internals
Statistics and Indexes Internals
 
Introduction to Azure Data Lake
Introduction to Azure Data LakeIntroduction to Azure Data Lake
Introduction to Azure Data Lake
 
Azure SQL Data Warehouse
Azure SQL Data Warehouse Azure SQL Data Warehouse
Azure SQL Data Warehouse
 
Introduction to azure document db
Introduction to azure document dbIntroduction to azure document db
Introduction to azure document db
 
Introduction to Machine Learning on Azure
Introduction to Machine Learning on AzureIntroduction to Machine Learning on Azure
Introduction to Machine Learning on Azure
 
Auditing Data Access in SQL Server
Auditing Data Access in SQL ServerAuditing Data Access in SQL Server
Auditing Data Access in SQL Server
 
Exploring sql server 2016 bi
Exploring sql server 2016 biExploring sql server 2016 bi
Exploring sql server 2016 bi
 

Kürzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Kürzlich hochgeladen (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 

A to z for sql azure databases

  • 1. CHAPTER A to Z for SQL Azure Databases Athens, GreeceAntonios Chatzipavlis SQLschool.gr Founder, Principal Consultant SQL Server Evangelist, MVP on SQL Server Apr 25, 2015
  • 2. I have been started with computers. I started my professional carrier in computers industry. I have been started to work with SQL Server version 6.0 I earned my first certification at Microsoft as Microsoft Certified Solution Developer (3rd in Greece) and started my carrier as Microsoft Certified Trainer (MCT) with more than 20.000 hours of training until now! I became for first time Microsoft MVP on SQL Server I created the SQL School Greece (www.sqlschool.gr) I became MCT Regional Lead by Microsoft Learning Program. I was certified as MCSE : Data Platform, MCSE: Business Intelligence Antonios Chatzipavlis Database Architect SQL Server Evangelist MCT, MCSE, MCITP, MCPD, MCSD, MCDBA, MCSA, MCTS, MCAD, MCP, OCA, ITIL-F 1982 1988 1996 1998 2010 2012 2013 CHAPTER
  • 4. My day … and more than 3500 databases
  • 5. Follow us in social media Twitter @antoniosch / @sqlschool Facebook fb/sqlschoolgr YouTube yt/user/achatzipavlis LinkedIn SQL School Greece group Pinterest pi/SQLschool/
  • 7. • Getting started with Microsoft SQL Azure Database • Configuration and pricing • Using Azure portal, SSMS and PowerShell with SQL Azure Databases • Differences between SQL Server and Microsoft Azure SQL Database • Migrating databases on SQL Azure databases • Securing SQL Azure Database • Backup and Restore SQL Azure databases • Designing and tuning for scalability and high performance • Monitoring and management • V12 new features Agenda
  • 9. • Infrastructure as a Service ( IaaS) • Platform as a Service (PaaS) • Software as a Service (SaaS) The Microsoft Azure cloud
  • 10. • Creating a Microsoft account • http://signup.live.com • Creating a Microsoft Azure subscription • http://www.windowsazure.com. Getting signed up for SQL Database
  • 13. • An instance of SQL Server can host multiple databases. • Create an administrator account user name with a strong password • Specify the geographical region where the server should be located physically. • To achieve the best performance, you should choose the region closest to your consumers. • Be sure that any Microsoft Azure cloud Web sites and services are hosted in the same region as the SQL Database servers they communicate with. • By locating both in the same region, you will avoid the bandwidth-based fee that gets incurred when your cloud sites, services, and databases communicate across different Azure regions. • You will also reduce latency, which results in significantly better performance. Creating a server
  • 14. • Quick Create • This is a 1-GB Web Edition SQL Database with the default collation. • Custom Create • You have control over the options edition, size, and collation. • Import • Import an existing database from a BACPAC file. • A BACPAC file is, essentially, a backup of an entire database (schema and data), stored as a binary large object (BLOB). Creating a database
  • 15. It is important to understand that the IP address that needs to be specified is not your IP address on your local network, but the IP address that the Microsoft Azure datacenter sees when you attempt to access something. Setting firewall rules
  • 16. • SQL storage • Client bandwidth • Backup storage bandwidth • Optimizing your costs Budgeting for SQL Database
  • 17. • SQL storage • Client bandwidth • Backup storage bandwidth • Optimizing your costs Budgeting for SQL Database The biggest cost of using SQL Database is for the actual disk space required for storage in Microsoft Azure If you already have an on-premises SQL Server database and would like to calculate the size of the database for estimating the migration cost to SQL Database, SELECT (SUM(reserved_page_count) * 8192) / 1024 / 1024 AS database_size_MB FROM sys.dm_db_partition_stats
  • 18. • SQL storage • Client bandwidth • Backup storage bandwidth • Optimizing your costs Budgeting for SQL Database • If you connect to your SQL database from within the same datacenter, you do not incur any bandwidth charges for the data flowing either in to or out of the database. • If you connect to the database from outside the datacenter, your database incurs only “egress” charges for bandwidth usage, which means that data flowing out of the database to clients is charged, while “ingress” flows (data coming into the database) are free. • The charges are also different in different areas of the world. • Client bandwidth pricing is based on the location of the Microsoft Azure datacenter, regardless of where the client accessing the database is located.
  • 19. • SQL storage • Client bandwidth • Backup storage bandwidth • Optimizing your costs Budgeting for SQL Database • If you have a 100-MB database and you have backups taken every day, your bandwidth charges are as follows 0.1 GB X $0.12/GB X 30 days = $0.36/month • If you choose to take backups each hour, your bandwidth charges would be as follows 0.1 GB X $0.12/GB X 24 hours/day X 30 days = $8.64/month • If you choose to run those backups within the same datacenter, the bandwidth is free.
  • 20. • SQL storage • Client bandwidth • Backup storage bandwidth • Optimizing your costs Budgeting for SQL Database • Don’tstoreBLOBs in thedatabase. • Cycle outold recordsand tables in yourdatabase. • Place yourSQL Databasein the samedatacenter as your websites,mobile services,and otherAzurecomponentsthat will be clients of the database. • Use a strategyfor removingold backups suchthat you maintainhistorybut reduce storageneeds. • Insteadof usinga remotestorageaccountfor yourbackups, usegeo-replicated storageto keep fromincurringbandwidth charges. • If youintendto usea substantialamountof Azureresources for yourapplication,you can chooseto use a volume purchaseplan.
  • 21. CHAPTER Using Azure portal, SSMS and PowerShell with SQL Azure Databases
  • 24. • Installing the Microsoft Azure PowerShell cmdlets • http://azure.microsoft.com/en-us/downloads/ Using PowerShell
  • 26. CHAPTER Differences between SQL Server and Microsoft Azure SQL Database
  • 27. • Agent Service • Audit • Backup / Restore • Browser Service • Change Data Capture (CDC) • Common Language Runtime (CLR) • Compression • Database Object naming convention • Extended events • Extended stored procedures • File streaming (FILESTREAM) Unsupported features before V12 release • Full-Text Searching (FTS) • Mirroring • Partitioning • Replication • Resource Governor • Service Broker • System stored procedures • Tables without a clustered index • Transparent Data Encryption (TDE) • USE statement • XSD and XML indexing
  • 28. • Allows connections only over TCP/IP. • Does not support Windows authentication. • Often requires that @<server> is appended to the login user name in connection strings. • Communicates only through port 1433 • Does not support static or dynamic port allocation like SQL Server does. • Fully support of Multiple Active Result Sets (MARS) • SQL Database connections can drop unexpectedly, and you need to account for this condition in your applications. • The latest version of the Entity Framework (EF6, Microsoft’s recommended data access API for .NET) has a new Connection Resiliency feature, which automatically handles the retry logic for dropped connections. • The Microsoft Enterprise Library Transient Fault Handling Application Block, lets you define and implement retry strategies to deal with dropped connections. • The ADO.NET SqlConnection class has an OpenWithRetry extension method that handles the retry logic based on the default retry policy SQL Database Connection limitations
  • 31. DEMO CHAPTER Importing a BACPAC to Microsoft Azure SQL Database
  • 33. • SQL Database Firewall restricts access to SQL Database based on the origin IP address of the connection. • SQL Database Firewall rules allow connections to be made to a SQL Database server, they do not authorize access to objects within the SQL Database instance. • You can configure database-level firewall rules using the sp_set_database_firewall_rule stored procedure found in each database. • SQL Database server-based firewall rules are defined for an entire SQL Database server, they are stored in the master database Configuring SQL Database Firewall
  • 34. • Windows Authentication is not supported • CREATE LOGIN <name> WITH PASSWORD='<Password>‘ • Server-level permissions • loginmanager • This role has prermissions to create logins in the SQL Database server • Similar to the securityadmin role in SQL Server • dbmanager • This role has permissions to create databases in a SQL Database server. • Similar to dbcreator role in SQL Server • CREATE USER <name> FROM LOGIN <login_name> • EXEC sp_addrolemember 'loginmanager', <‘user_name’>' • EXEC sp_addrolemember 'dbmanager', <‘user_name’> Authenticating and authorizing users
  • 35. CHAPTER Backup and Restore SQL Azure databases
  • 36. • BACPAC files do not provide transactional consistency • BACPAC is by copying tables individually, and modifications could occur between the time that the first table and last table are copied • The Database Copy feature creates a new database from an existing SQL Database that is transactionally consistent when the copy finishes. • It does this by replicating any changes that are made to the source database while the database is copying at the end of the process. • Database copies can be created either on the same SQL Database server or on a different server within the same region. CREATE DATABASE <dbname> AS COPY OF <server>.<dbname_copy> Copying a database
  • 37. SELECT name, state_desc FROM sys.databases WHERE name = <‘dbname‘> You can obtain additional details about the copy operation SELECT * FROM sys.dm_database_copies AS c INNER JOIN sys.databases AS d ON c.database_id = d.database_id WHERE d.name = <‘dbname‘> Monitoring the progress of a database copy operation
  • 41. CHAPTER Designing and tuning for scalability and high performance
  • 42. • Opening late, closing early • Pooling connections • Recovering from connection faults Managing SQL Database connections
  • 43. • Encapsulate complex data access in stored procedures • Batch using table-valued parameters • Use client-side storage and caching • Avoid retrieving metadata at runtime Minimizing round trips
  • 46. Dynamic management views and functions
  • 48. • Users in Contained databases • Table partitioning • Larger transactions • Online index build and rebuild • Checkpoint support • ALTER TABLE enhancements • TRUNCATE TABLE enhancements • More DBCC commands • Dynamic data masking preview • Row-level security (RLS) preview • V12 New Features • Window functions in Transact-SQL queries • .NET CLR integration • Change tracking for data • Table as a heap • Application roles • Several DMVs are added in V12 • Parallel processing for queries • Briefer I/O latency • Increased IOPS • Log rate http://azure.microsoft.com/en-us/documentation/articles/sql-database-preview-whats-new/