Sie sind auf Seite 1von 2

www.sqlschool.

com 1

5. SQL SERVER ARCHITECTURE

i. NETWORK PROTOCOLS : USED TO COMMUNICATE BETWEEN CLIENT AND SERVER.


* TCP : TRANSMISSION CONTROL PROTOCOL
USED FOR CLIENT - SERVER COMMUNICATION OVER INTERNET
* NAMED PIPES: USED FOR CLIENT - SERVER COMMUNICATION OVER LAN
* SHARED MEMORY : USED FOR CLIENT - SERVER COMMUNICATION WITH THE SAME OS
* VIA : VIRTUAL INTERFACE ADDAPTOR [FOR SQL SERVER 2014, EARLIER]
USED FOR CLIENT - SERVER COMMUNICATION OVER INTERNET.

ii. DATABASE ENGINE - QUERY PROCESSING ENGINE


STEP 1: THE QUERY SENT FROM CLIENT IS "PARSED" AND "COMPILED" USING A COMPONENT "PARSER"
PARSING : MECHANISM TO CHECK THE VALIDITY OF THE QUERY, IDENTIFY KEYWORDS, NAMES
COMPILATION: MECHANISM TO CONVERT HIGH LEVEL SQL CODE TO MACHINE LEVEL CODE
STEP 2: THE COMPILED CODE IS SENT TO "QUERY OPTIMIZER". THIS COMPONENT IS USED TO FIND THE
BEST WAY TO EXECUTE THE QUERIES. EX: SELECTION OF INDEX FOR EXECUTING A QUERY
STEP 3: THE CONTROL GOES TO "SQL MANAGER". TO RESERVE & LOCK QUERY RESOURCES [MEM,CPU]
STEP 4: THE EXECUTION PLAN IS NOW SENT TO "DATABASE MANAGER". USED TO LOCATE THE TABLES
STEP 5: FINALLY, THE QUERY STARTS TO EXECUTE BY USING "SQL EXECUTOR" COMPONENT.

ii. DATABASE ENGINE - STORAGE ENGINE


* TRANSACTION MANAGER - TO CONTROL THE SQL OPERATIONS (TRANSACTIONS)
* FILE MANAGER - TO IDENTIFY DATABASE FILES (DATA FILES, LOG FILES)
* BUFFER MANAGER - TO ALLOCATE MEMORY RESOURCES. 1 MB PER QUERY
* LOCK MANAGER - TO LOCK OR RESERVE DATABASES, TABLES & COLUMNS

STORAGE ENTITIES : ROWS, PAGES, EXTENTS ++ INDEXES


www.sqlschool.com 2

STORAGE MANAGEMENT ENTITIES : BULK OPERATIONS CONTROL, DBCC, BACKUPS


DBCC MEANS : DATABASE CONSISTENCY CHECK COMMAND

iii. SQLOS [SQL OPERATING SYSTEM] API : CONTAINS OS LEVEL COMPONENTS TO RUN SQL QUERIES.
* MEMORY MANAGER: TO ALLOCATE MEMORY FOR SQL SERVER APPLICATION
* BUFFER POOL: TO "BUFFER" DATABASE DATA FOR FASTER DATA ACCESS
* LOCK MANAGER: TO ALLOCATE LOCKS ON DATABASE FILES & EFFICIENT ACCESS
* IO MANAGER: TO REPORT DATA FILE I/O, LOG FILE I/O
* TASK SCHEDULER: TO "SCHEDULE" / "AUTOMATE" SQL OPERATIONS : JOBS
* SYNCHRONIZATION SERVICES: TO AUTOMATE THE PROCESS OF FEW DDL QUERIES.
EX: WHENEVER WE DEFINE A PK, ONE CLUSTERED INDEX IS AUTO CREATED.

MDAC: MICROSOFT DATA ACCESS COMPONENT. USED FOR CLIENT - SERVER COMMUNICATION
CLR: COMMON LANGUAGE RUNTIME. PREDEFINED LIBRARY FILES TO CONNECT AND
OPERATE ON SQL SERVER USING MSBI (SSIS), .NET, PYTHON, RUBY, PERL, NODE JS, ETC..

LAZY WRITER: THIS COMPONENT IS USED TO RELEASE REQUIRED MEMORY FOR QUERY EXECUTIONS.
WRITES DATA TO MEMORY FIRST. THEN TO DATABASE LOG FILE NEXT.

CHECKPOINT : INTERNAL PROCESS TO WRITE DATA FROM DATABASE LOG FILES TO DATA FILES
WAL : WRITE AHEAD LOG : USED TO ALLOCATE LOG SPACE FOR AUDITS.
AN INTERNAL PROCESS IS USED TO CONROL WRTING OF DATA FROM LOG TO DATA FILE.
CHECK POINT IS CONTROLLED BY MASTER DATABASE.

SCHEMAS
SCHEMAS are database objects used to group tables. Optional to create but recommended.
Purpose : For easy End User Access & Easy Security Management

Default Schema is DBO [Database Owner].

-- HOW TO CREATE NEW SCHEMAS IN THE DATABASE?


CREATE SCHEMA SCHEMA1
CREATE SCHEMA SCHEMA2

-- HOW TO USE SCHEMAS ?


CREATE TABLE SCHEMA1.TABLE1 (COL1 INT, COL2 INT)
INSERT INTO SCHEMA1.TABLE1 VALUES (1,1), (2,2)
SELECT * FROM SCHEMA1.TABLE1

-- HOW TO MOVE A TABLE FROM ONE SCHEMA TO ANOTHER SCHEMA ?


ALTER SCHEMA SCHEMA2 TRANSFER SCHEMA1.TABLE1

Das könnte Ihnen auch gefallen