Course Duration: 80 hours

Course Schedule: Monday to Friday 9:00PM to 11 PM Eastern Time.

Please contact SolWin to know more about registering for this batch.

In this course, we the expert trainers at SolWin will provide you with the following:

  • High Availability & Disaster Recovery solutions.
  • TSQL Programming
  • Database Design
  • Performance Tuning
  • Trained by MASTER DBA with 15 years SQL Server 2012/2008/2005/2000/7.0/6.0 experience.

After each class, you will get

  • Comprehensive course material for certification exams
  • Hands-On LAB exercises which you need to finish before next class.
  • Recorded video of the live class which you can keep it forever and review it later.

Part-1: TSQL Programming & Database Design

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
  • 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 2012 Installation and Features

  • Installing SQL Server 2012
  • 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 databases
  • 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 permissions

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
  • Examining 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 Availability

  • 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
  • EXTENT
  • 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 partitioning
  • 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

  • Resource Governor
  • Data collection
  • Policy Based management
  • Data Auditing (optional)
  • End Points(optional)
  • Linked Servers(optional)

About Our Expert Trainer

Mr. Daniel AG (MASTER DBA), has 15 years experience as SQL Server DBA, TSQL Programmer and business intelligence developer.  He is currently working as SQL Server 2012/2008 Production DBA & Team Lead for a custom application development team of SSRS report developer, .NET developer and SharePoint 2010 administrator. Work with management, developers, end users and software vendors to implement best practice based production promotion processes. Responsible for 24×7 technical support of 132 instances of 64/32 bit SQL Server 2012/2008 R2/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.

He has completed several large scale T-SQL programming projects for various clients using stored procedures, views, triggers.

He has also successfully upgraded (in place & side by side) SQL Server 2000/2005 to 2008 R2, SSRS 2005 to SSRS 2008 R2, DTS to SSIS.

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.

Implementation of comprehensive disaster recovery solution. – Totally automated SQL Server native backup through SQL Agent & tape backup using DPM. – Full/differential/Transactional backup for critical systems.

Testimonials

“It was a both fun and fruitful experience here at SolWin. The training sessions are to-the-point without wasting much time. The materials provided as another plus point during the training process.” Jeevan V K

“SolWin is one of the most reliable training places I would recommend to someone who wishes to learn all about SQL. Their trainers, the ambiance and the facilities provided are state-of-the-art. Kudos!” Varun Thomas