2. Outline
• What is SQL Server
• History SQL Server
• SQL Server Editions .
• SQL Server Architecture
• Services of SQL Server
• Scale limits SQL Web and Express edition
• SQL Server Web Edition limitations
• SQL Server Express Edition limitations.
• Benefits of Microsoft SQL Server
• SQL Azure limitations.
Ship Detection in Satellite Images 2
3. What is SQL Server
SQL Server is a relational database management system (RDBMS) developed by
Microsoft.
It is primarily designed and developed to compete with MySQL and Oracle database.
SQL Server supports ANSI SQL, which is the standard SQL (Structured Query Language)
language.
However, SQL Server comes with its own implementation of the SQL language, T-SQL
(Transact-SQL).
T-SQL is a Microsoft propriety Language known as Transact-SQL. It provides further
capabilities of declaring variable, exception handling, stored procedure, etc.
SQL Server Management Studio (SSMS) is the main interface tool for SQL Server, and it
supports both 32-bit and 64-bit environments.
3
4. History SQL Server
Microsoft and Sybase released version 1.0 in 1989.
However, the partnership between these two ended in the early 1990s.
Microsoft maintained ownership rights to the name SQL Server.
Since the 1990s, subsequent versions of SQL Server have been released
including SQL Server 2000, 2005, 2008, 2012, 2014, 2016, 2017 and 2019.
5. SQL Server Editions
Following editions are available
SQL Server Enterprise: It is used in the high end, large scale and mission
Critical business. It provides High-end security, Advanced Analytics,
Machine Learning, etc.
SQL Server Standard: It is suitable for Mid-Tier Application and Data
marts. It includes basic reporting and analytics.
SQL Server WEB: It is designed for a low total-cost-of-ownership option
for Web hosters. It provides scalability, affordability, and manageability
capabilities for small to large scale Web properties.
SQL Server Developer: It is similar to an enterprise edition for the non-
production environment. It is mainly used for build, test, and demo.
SQL Server Express: It is for small scale applications and free to use.
5
7. SQL Server Architecture
Layer 1: SQL Server Network Interface (SNI)
The components in the External Protocols section that you see in the top are
called SQL Server Network Interface (SNI).
Layer 2: Database Engine
Database Engine includes Storage Engine, Query Processor and other
components.
Layer 3: SQLOS API
After this part of the article we will detail these layers.
7
8. Layer 1: SQL Server Network Interface (SNI)
8
SNI is the protocol layer that provides the connection between client and server. SQL
Server supports the following 4 protocols.
Shared Memory
The protocol used when the Client and Server are on the same machine.
Named Pipes
This protocol is used when Client and Server are on the same LAN. It uses the TCP 445
port. It can be used in environments where there is no TCP / IP protocol.
TCP / IP
The most widely used and accepted protocol all over the world. When a client connecting
to a sql server, it uses an IP or server name and port (eg 10.56.43.23,1433). The default tcp
port of SQL Server is 1433.
Virtual Interface Adapter (VIA)
Although it is a high performance protocol, it is not preferred because it requires additional
hardware in client and server.
9. Layer 2: Database Engine part 1
Relational Engine(Query Processor)
Relational Engine is responsible for running queries in the most optimized way. It consists
of the following components.
SQL Manager:
Manages the procedure cache. It responsible for the execution of Stored Procedures and
automatic parameterization of ad hoc queries.
Parser:
Converts the query to be processed more easily by a computer. It also checks for typos.
Optimizer:
There are many ways to run the query to transfer data to the end-user.
Query Executor:
This is the part where the query is executed step by step using the execution plan created by
the optimizer.
9
10. Layer 2: Database Engine part 2
Storage Engine
As the name implies, it is responsible for storing data. You can find its
subcomponents below.
Buffer Manager:
The process of transferring data that is not in memory from disk to memory and
rewriting the changed data from memory to disk is managed here.
Transaction Services:
Ensures that transactions meet ACID rules
Lock Manager:
All lock types are managed here.
File Manager:
Responsible for allocating space for data in the database.
10
11. Layer 3: SQLOS API
SQLOS is the layer that manages all operating system resources specific to
SQL
Threading
Deadlock
I/O Manager
Memory manager
11
12. Services of SQL Server
SQL Server Agent: It performs the role of Task Scheduler. It can be triggered
by any event or as per demand. Executable name is sqlagent.exe.
SQL Server Browser: This listens to the incoming request and connects to the
desired SQL server instance. Executable name is sqlbrowser.exe.
SQL Server Full-Text Search: This lets user running full-text queries against
Character data in SQL Tables. Executable name is fdlauncher.exe.
SQL Server VSS Writer: This allows backup and restoration of data files
when the SQL server is not running. Executable name is sqlwriter.exe.
SQL Server Analysis Services (SSAS): Provide Data analysis, Data mining
and Machine Learning capabilities. SQL server is integrated with R and Python
language for advanced analytics. Executable name is msmdsrv.exe.
SQL Server Reporting Services (SSRS): Provides reporting features and
decision-making capabilities. It includes integration with Hadoop. Executable
name is ReportingServicesService.exe
12
14. SQL Server Web Edition limitations
No business intelligence module is available
Support only up to 16 CPU Cores
Cannot create custom role and role based security
No high availability options
Mostly limited to web hosting services.
15. SQL Server Express Edition limitations.
Limited to 1 socket or 4 CPU cores
Maximum size of database is 10GB
No SQL agent for automatic backup of job scheduling
Mostly used for small applications and websites having less data size
16. Benefits of Microsoft SQL Server
Ensures Security of Your Data
MS-SQL Server gives you the advantage of working with a table structure
based on rows, which allows the connection of correlated data elements and
functions. Many other Database Management Systems (DBMS) are less secure,
Optimizes Data Storage and Accuracy
This gives you the benefit of getting rid of the need to duplicate data storage
within a database when you are working from a different computer. Other
advantages of this structure are that it provides integrity when referencing from
the database. QL enables you to maintain the security, integrity and consistency
of the data you’re working with.
17. Simple Installation and Automatic Updates
The advantage this implies is that you don’t require a special toolkit to run the installation.
The system updates are detected automatically and downloaded without any input from the
operator.
Optimized Security Features
SQL Servers use Policy-Based Management to keep your security policies compliant and
updated. This means that only authorized personnel will be able to access the database. It
also allows having security events and audits automatically written for file logging. The
Microsoft SQL server’s data compression feature is built in, and encryption enables you to
modify programs for data encryption. The server also pairs access control with efficient and
secure permission management.
18. SQLAzure limitations.
T-SQL Sentences are not the same in Azure SQL, there are some syntax
differences and limitations in Azure SQL compated with traditional SQL
Server Editions.
In Azure SQL, a connection is associated with a single database. When you
connect to Azure, you need to specify the connection.
There is no Azure SQL Agent, Instead of the Traditional SQL Agent, you
can run on premise jobs (this is worse than the traditional way). You can
create a Mobile Service and create a scheduler to do this.
18
19. You cannot switch to another database in Azure, there are also some
restrictions when we use the USE clause in SQL Azure to switch from one
database to another.
You cannot change the Collation settings of system objects in the Database.
You will not be able to use Endpoint statements or
ORIGINAL_DB_NAME.
You cannot use Windows authentication on SQL Azure. You can only use
SQL Logins or Azure Active Directory tokens.
You will not be able to do distributed database queries using three or four
part names. However, you can do read-only queries across databases by
using elastic database query.
20. You do not have Performance Data Collector sets available to capture events
using tools like Perfmon.exe.
Database Diagrams are not available.
You cannot manage any high availability features. Features like backup &
restore, Always On, database mirroring, log shipping, recovery modes is
managed through the Microsoft Azure account.
Cross database ownership chaining or TRUSTWORTHY setting is not
supported.
20