SQL Server DBA + TSQL Training (90 Hours)

By Daniel AG, #1 Database Trainer in USA!!! (*****)

Daniel's Profile - #1 Database Trainer in USA!!!

Daniel has 16 years' extensive experience in SQL Server Administration, SQL Programming, Business Intelligence Development (SSAS, SSIS, SSRS), Data Visualization (Power BI) and Performance Tuning. Daniels's diverse experience has given him a wide understanding of how Data Design, Data Architecture, Data Management, Data Administration, Security, and System Architecture all come together forming enterprise solutions. He is currently working as a Data Architect in Health Care Industry near Philadelphia, USA.

Responsible for 24x7 technical support of 1300+ instances of 64/32 bit SQL Server 2017/2016/2014/2012/2008/2005/ 2000 Enterprise/Standard infrastructure (Physical & Hyper-V) with Multi-Node Clusters (Active/ Passive), SQL Server Replication, Database Mirroring, Log Shipping, IBM SAN solutions, DPM backup, SCOM Monitoring.

Business intelligence development using SSRS, SSIS, SSAS & MDX - More than 500 SSRS reports in SharePoint 2010 integration mode - SSAS solution for data analysis - More than 100 SSIS data feeds between internal and client application databases.

Performance monitoring/tuning SQL Server, TSQL, ETL process, & SSRS. - Analysis Disk, CPU & Memory bottle neck using SCOM, SQL Profiler, Perfmon, Resmon, DMV, DMF & PAL. - Totally automated SQL Server index maintenance and statistics update process through SQL Agent.

You can reach Daniel directly @ 267 718 1533.

Daniel's Technical Blog: https://empiredatasystems.com/sql-server-training-blogs.html


Talk to Daniel


Live Training Videos

We believe in letting our prospective students to watch recorded videos of our live training classes and decide for themselves. If you would still like to attend a one-on-one live demo session, please give call Daniel @ 267 718 1533 and he can schedule one for you at your convenience.

Course Content

Part 1: SQL/TSQL Programming

RDBMS Concept
  • DBMS Concept
  • RDBMS Concepts
  • ER Diagram Concepts
  • Cardinality
  • Ordinality
  • SDLC for Database design and Development
  • Normalization and De-Normalization
SQL Server Architecture
  • SQL Server edition overview
  • Introducing the tools
  • SQL Server Management Studio
  • Managing Tables with DDL
  • RDBMS Concepts
  • Cardinality
  • Ordinality
Creating schemas
  • Managing schemas
  • Referencing schemas versus using the default schema
  • Hiding schemas with synonyms
  • Building tables
Selecting appropriate data types
  • Constructing tables with CREATE TABLE
  • Different data types and what is the internal difference
  • Importance of selecting proper data types
  • Data types and performance
Adding constraints
  • Not Null
  • Primary Key
  • Foreign key
  • Unique
  • Check
  • Default
  • Candidate Key
  • Alternate Key
  • Natural Key
  • Surrogate Key
Implementing various types of joins
  • Inner joins
  • Cross joins
  • Left, right and full outer joins
  • Equijoins
  • The performance implications of joins
  • Adding filter conditions to outer joins
  • Writing self joins
  • Join algorithms(hash join, loop join and merge join)
Joining a table to itself
  • Chaining self joins
  • Solving time-interval problems
Combining queries with set operators
  • UNION
  • UNION ALL
  • INTERSECT
  • EXCEPT
Scalar and Aggregate Functions
  • Taking advantage of scalar functions
  • Converting data types
  • Handling dates
  • Manipulating strings
  • Choosing the right function for the job
Summarizing data with aggregate functions
  • COUNT
  • SUM
  • AVG
  • Equijoins
  • MIN
  • MAX
  • Managing NULLs
  • Suppressing duplicates
Grouping data
  • GROUP BY and GROUPING SETS
  • Applying conditions with HAVING
  • Calculating moving averages
Extending group queries
  • Nesting grouped aggregates
  • Joins and grouping
  • Introducing subtotals with CUBE and ROLLUP
Building crosstab reports
  • Using CASE to turn rows into columns
  • Applying PIVOT and UNPIVOT
Declaring variables and parameters
  • Creating and utilizing local variables
  • Passing input and output parameters
  • Interrogating global variables
Calling built-in scalar functions
  • Converting data using CAST and CONVERT
  • Ordering data with ranking functions
Performing Extensive Analysis with Analytic Functions
  • The OVER clause
  • Specifying the ordering before applying the function
  • Splitting the result set into logical partitions
RANK Function
  • RANK and DENSE_RANK
  • ROW_NUMBER with ordered sets
Extending the use of aggregates
  • Partitioning in multiple levels
  • Computing running totals
  • Comparing row and aggregate values
Building Sub-queries
  • Simple sub-queries
  • Sub-queries in conditions and column expressions
  • Creating multilevel sub-queries
  • Avoiding problems when sub-queries return NULLs
  • Handling multi row sub-query results
Correlated sub-queries
  • Accessing values from the outer query
  • EXISTS vs. IN
  • Identifying duplicates
  • Avoiding accidental correlation
Common table expressions (CTE)
  • Reusable sub-queries
  • Recursive sub-queries
  • Traversing hierarchies
PIVOT/UNPIVOT
  • Importance of pivoting
  • How to pivot data
Derived Tables
  • Derived table in FROM clause
  • Derived table in JOIN clause
Maintaining Data
  • Modifying data
  • Inserting, updating and deleting data
Transaction
  • ACID properties
  • Ensuring data consistency with transactions and distributed transactions
  • Isolation levels
  • Begin Transaction
  • Commit Transaction
  • Save point
  • Phantom rows
  • Non repeatable reads
  • Dirty Reads
  • Dealing with open transactions when an exception occurs
SQL Server locking fundamentals
  • Avoiding blocking problems with read-committed snapshot isolation
  • Managing locks using hints
Programming procedural statements
  • Implementing conditions with IF...ELSE
  • Looping with WHILE and GOTO
  • Creating code blocks with BEGIN...END
  • Debugging with PRINT
  • Returning data using RETURN
  • Debugging T-SQL in Management Studio
Handling errors
  • Communicating problems to the client with RAISERROR
  • Intercepting errors with TRY...CATCH
  • Dealing with open transactions when an exception occurs
Producing server-side result sets
  • Building and using temporary tables
  • Processing rows on the server with a cursor
  • Taking advantage of table variables
Views
  • Storing queries on the server
  • Concealing complexity with views
  • Indexed views
  • Partitioned views
  • Taking advantage of schema binding
  • View encryption
Functions
  • Scalar Function
  • In-Line table value function
  • Multi-statement table-valued function
  • Creating user-defined functions
  • Calculating values with scalar functions
  • Processing multiple rows returned from a table-valued function
  • Taking advantage of schema binding
  • Function encryption
Triggers
  • INSTEAD OF vs. AFTER triggers
  • Detecting row changes using the inserted and deleted tables
  • Tracking metadata changes with DDL triggers
  • Auditing user access using a LOGON trigger
  • Tracking data changes with the OUTPUT clause
  • Track column changes using UPDATE function
Stored Procedures
  • Batch and stored procedure processing
  • Minimizing network traffic using batches and procedures
  • Stored procedure compilation and execution
  • Using scalar functions
  • Table value parameters
  • Querying Multiple Tables
Temporary Tables
  • Create local temporary tables
  • Create global temporary tables
  • Table value parameter
  • Table variables
  • Common table expression (CTE)
  • Derived Tables

Part 2: Database Administration

SQL Server 2017 Installation and Features
  • Installing SQL Server 2017
  • Choosing installation options
  • Upgrading from previous versions
  • Applying a service pack
Storage Architecture & data redundancy
  • LAN
  • SAN
  • NAS
  • LUN
  • RAID 0
  • RAID 1
  • RAID 5
  • RAID 10
  • Fiber Channel Network
  • iSCSI
Essential tools
  • SQL Server Management Studio
  • Transact-SQL
  • SQL Server Configuration Manager
Creating and Managing Databases
  • Storage structures
  • Examining disk structures
  • Creating databases and transaction logs
  • Defining file groups
Managing database space
  • Permitting automatic database growth
  • Adding database files to expand database
  • Specifying database options
  • Pages
  • Extends
Moving databases
  • Scripting objects and moving data with Transact-SQL
  • Detaching and attaching databases
Implementing Server and Database Security
  • Creating logins
  • Contrasting Windows and SQL Server authentication
  • Authorizing logins
  • Making logins members of server roles
  • Enforcing password policy
Authorizing database access
  • Adding users
  • Defining new roles
  • Delegating privileges with predefined roles
  • Assigning users to roles
  • Handling miss-mapped logins
Managing Permissions
  • Granting database-scoped privileges
  • Permitting object creation
  • Granting blanket permissionss
Schemas
  • Designing schemas
  • Assigning a default schema
Catalog Information
  • DMV
  • DMF
  • SYS tables
Handling object-level permissions
  • Limiting object access
  • Meeting complex permission requirements with roles
  • DExamining permission hierarchies
Creating and managing indexes
  • Clustered Index
  • Non Clustered Index
  • Unique Index
  • Filtered Index
  • Partitioned Index
  • Covered Index
  • Defining indexed views
  • Analyzing and repairing fragmentation
Creating and managing Statistics
  • Density of data
  • Selectivity of data
  • Rebuild Statistics
  • Histogram
Transaction Log
  • Importance of transaction log
  • Internal architecture of transaction log
  • Truncate transaction log
  • Shrink transaction log
  • Transaction log size and performance tuning
  • UNDO-REDO Transactions
System databases
  • Master
  • MSDB
  • Model
  • TempDB
  • Importance of TempDB with respect to performance
Recovering from Disasters
  • Backing up databases
  • Choosing a recovery model
  • Transaction log architecture
  • Full backup
  • Transaction log backup
  • Differential backup
  • File and File Group Backup
  • Copy Only backup
  • Partial backup
  • Log tail backup
  • Reclaiming transaction log space
Restoring databases
  • Restore a full backup
  • Restore a differential backup
  • Restore a log backup
  • Restore with NO RECOVERY
  • Restore with RECOVERY
  • Restore with RESTART
  • Point in time restore
  • MARK restore
  • Recovering user databases
  • Testing recovery scenarios
Export/Import data/database
  • Import wizard
  • Export wizard
  • Copy database wizard
Automating Tasks with Jobs and Alerts
  • The SQL Server Agent
  • Configuring the agent
  • Setting up Database Mail
Multistep jobs
  • Defining jobs to handle routine tasks
  • Creating alerts and operators
  • Associating alerts with jobs
Performing Database Maintenance
  • Database Maintenance Plan Wizard
  • Choosing maintenance tasks
  • Scheduling plan execution
  • Monitoring SQL Server
Ad hoc monitoring
  • Querying Dynamic Management Objects
  • DBCC statements
Database Availably
  • Always-On Availability Group
  • Mirroring Concepts
  • Clustering Concepts
  • Log Shipping
  • Replication
  • Attach/Detach
  • Online/Offline Mode
  • Hot/Cold/Stand by servers
SQL Server logs
  • Importance of SQL Server log file
  • How to read SQL Server log
Dead Locks
  • What is a dead lock?
  • What is a wait lock?
  • Impact of dead lock and wait lock
  • Victim of dead lock
  • Identify dead lock using profiler
  • How to avoid dead locks
  • SET DEADLOCK_PRIORITY
  • SET LOCK_TIMEOUT
Latest Topics
  • Database auditing
  • Resource governor
  • Policy management
  • Database End points(both TCP & HTTP)

Part 3: Performance Tuning

Executing queries
  • Analyzing query plans
  • Enhancing query performance
  • Testing queries
  • Selecting the best alternatives
  • Avoiding errors and pitfalls
Performance tuning tools
  • DB Engine tuning Adviser
  • SQL Profiler
  • DBCC statement
  • Perfmon Counters
Memory Management
  • DBCC PROCCACHE
  • DBCC FREEPROCCACHE
  • DBCC DROPCLEANBUFFERS
  • DBCC FLUSHPROCINDB(db_id)
  • DBCC FREESYSTEMCACHE
  • DBCC FREESESSIONCACHE
  • Tick Count
L-L-W Issues
  • Lock Issues
  • Latch Issues
  • Wait Issues
Lock Mode
  • Shared locks (S)
  • Update locks (U)
  • Exclusive locks (X)
  • Intent locks (I)
  • Schema locks (Sch)
  • Schema stability lock (Sch-S)
  • Schema modification lock (Sch-M)
  • Bulk Update locks (BU)
  • Key - Range locks
Isolotion Level
  • Read uncommitted
  • Read committed
  • Repeatable read
  • Snapshot
  • Serializable
Lock Granularity and Hierarchies
  • RID
  • KEY
  • PAGE
  • EXTEND
  • HoBT
  • TABLE
  • FILE
  • APPLICATION
  • METADATA
  • ALLOCATION_UNIT
  • DATABASE
Analyzing performance using
  • SET FORCEPLAN
  • SET SHOWPLAN_ALL
  • SET SHOWPLAN_TEXT
  • SET SHOWPLAN_XML
  • SET STATISTICS IO
  • SET STATISTICS XML
  • SET STATISTICS PROFILE
  • SET STATISTICS TIME
  • SET ANSI_DEFAULTS
  • SET ANSI_NULL_DFLT_OFF
  • SET ANSI_NULL_DFLT_ON
  • SET ANSI_NULLS
  • SET ANSI_PADDING
  • SET ANSI_WARNINGS
  • SET ARITHABORT
  • SET ARITHIGNORE
  • SET FMTONLY
  • SET NOCOUNT
  • SET NOEXEC
  • SET NUMERIC_ROUNDABORT
  • SET PARSEONLY
  • SET QUERY_GOVERNOR_COST_LIMIT
  • SET ROWCOUNT
  • SET TEXTSIZE
  • SET DEADLOCK_PRIORITY
  • SET LOCK_TIMEOUT
  • SET TRANSACTION ISOLATION LEVEL
Design effective SQL statements
  • Relating indexes to where condition
  • Order of condition in where clause
  • Query Hints
  • Table Hints
  • Join Hints
  • Increasing sort efficiency
  • Reducing I/O with covering indexes
  • Implementing sparse indexes
  • Getting design advice from built-in tuning tools
Partitioning strategies for tables
  • Horizontal partitionin
  • Vertical partitioning
Indexes tuning
  • Internal fragmentation
  • External Fragmentation
  • Rebuild Index
  • Re organize Index
  • Portioned Index
  • Filtered Index
  • Covered Index
  • Compressed Index
Statistics Tuning
  • Density of data
  • Selectivity of data
  • Rebuild Statistics
  • Histogram
  • Auto create statistics
  • Auto update statistics
  • Sync/Asyn update of statistics

Part 4: Advanced DBA Topics

Advanced DBA Topics
  • Resource Governor
  • Data collection
  • Policy Based management
  • Data Auditing
  • End Points
  • Always encrypted
  • Dynamic data masking
  • Multiple tempdb database files
  • Query store
  • Row level security
  • Stretch database
  • Temporal table
  • Enhanced in-memory OLTP
  • Truncate table with partition
  • Drop if exists
  • String split - string escape
  • Database scoped credential

Course Statistics

16

Years of Experience

3671

Gratified Students

112

Training Batches

9634

Training Hours

Gratified Student Feedback - From Year 2000

Empire Data Systems

Social Links