Thursday, 9 October 2014

Explaining the term – DBA:
        A database administrator (DBA) is a person responsible for designing, implementing, and maintaining the database system; establishing policies and procedures pertaining to the management, security, maintenance, and use of the database management system.

Who can become a DBA? 
        To start with, you would be falling in either of the following categories:
  •     You are a fresher or a non-IT professional having no or very less knowledge about databases.
  •     You are an IT professional but not much experience with databases.
  •     You are an IT professional but having good understanding of databases.
    Now, whatever category you fall into and whatever experiences you have, the good thing is you can always opt for DBA as a career (let’s be positive). But obviously, the more knowledge you have about the databases, quicker will be the way to become a DBA.

Pre-requisites for becoming a DBA:

  •     Good knowledge and understanding of databases.
  •     T-SQL and .Net coding knowledge will be an additional advantage.
  •     In-depth knowledge of operating systems and storage will be helpful.        
  •    Responsible, Trustworthy, Analytical, Working under pressure, Supporting 24 X 7 and Good communication skills are the keys to survive (these comes with the experience, so no worries.)
Choosing the product:
                As the primary responsibility of a DBA is to work on databases, it is purely the individual’s interest on which product he/she is expert and is more comfortable with. You can choose among SQL Server from Microsoft, Oracle from Oracle, Sybase from Sybase and many others. I will talk about SQL Server from Microsoft.

DBA Responsibilities:

  •     Installing or upgrading a SQL Server: Every DBA is responsible for installing SQL Servers or upgrading to an upper version of SQL Server. The DBA should know the difference between different SQL Server editions and install the required edition. He should also understand the licenses required for it.
  •     Patching up the SQL Servers: After installing the SQL Server, the DBA must make sure that the SQL Server is properly patched with the correct Service Pack.
  •     Database Server Health monitoring: One of the prime responsibility of a DBA is to monitor the database server for smooth operation. Like the processor is optimally utilized, the memory is sufficiently used, etc.
  •    Storage availability: The database is saved on physical disk and the DBA needs to make sure that enough space is available for the database growth.
  •    Performance tuning & optimization: The database needs to be tuned and optimized on a regular basis by the DBA.
  •   Securing the SQL Server database: The data must be secured from unauthorized users, which the DBA makes sure by assigning proper permissions to the authorized users.
  •     Backups and restoration: In case the database gets corrupt or if the server goes down, the DBA needs to recover the database with the minimum loss as quick as possible. So, the DBA needs to take the database backups regularly and when required, also needs to restores it.
  •     Data transfer: In the current heterogeneous environment, the data may be needed to imported from or exported to different formats, which the DBA needs to do i.e.  SQL Server -  to / from -  Oracle / Sybase / text files / .csv format.
  •     Disaster Recovery: The DBA also needs to plan and make strategies for the disaster recovery of SQL Server.
  •   Deployment of SQL scripts: The DBA does the SQL code and scripts deployment to the production environment.
  •    Maximum uptime of servers: The DBA needs to make sure that the SQL Servers have minimum downtime with no / minimum impact on business.
  •    Documentation: This is very necessary which helps all things to be documented and handy for new DBAs or emergencies.
  •     Communication: Since the DBA has to interact with different teams, he has to be very good and effective in communication.
To Start:
                So, once you are mentally prepared to become a DBA and you have chosen the database product (SQL Server or Oracle or any other third party product), you need to analyze and honestly answer about the prerequisite points mentioned above, especially on the database knowledge level. I would suggest, rate yourself between 1 to 10 and work on the improvement areas. Here are some good websites (http://www.microsoft.com/sqlserver/en/us/, http://www.mssqltips.com/,http://blog.sqlauthority.com/), which can help you to increase your database understanding from administration point of view.
Next Step:
                After you make your decision to be a SQL Server DBA, you need to understand the basics of SQL Server database, how they are stored in the hard disks and how they are accessed via the operating system etc.  And believe me, these are not that hard which they seem to be. The best way is to buy a book (I would say to buy and not to download any e-books as it forces you to read since you have spend money on it), go through each chapter one by one and clarifying your doubts. The best way is to practically implement the tings which you read from the book. You can download the evaluation or free edition of SQL Server from the DVD which comes along the book or from  the Microsoft site - http://www.microsoft.com/sqlserver/en/us/. 
One step ahead:
                So, now after finishing the book, you should understand the different terminology of SQL Server database, the high availability methods, some best practices etc. Now this is the time when you need advance training and certification so that you can get the knowledge on those topics which are still unanswered to you. You should look for a training center which preferably gives you one-to-one session, cheaper and very professional. I would recommend Koenig-Solutions (http://www.koenig-solutions.com/) for getting you trained and certified as they are pioneer in this.  And believe, I am recommending after my own experience with them. You can get a discount even, if you ask me to get you registered for the training!
                Try to get yourself certified at the earliest as it helps you to get very good understand and sound knowledge on the topics and secondly, it earns you a credibility which is respected worldwide. At this moment, you know the concepts, have done basic practical on the system, trained on the advanced concepts and certified as well. Now, it’s the best time to start having some hands-on experience   by starting a job as a Junior DBA.
Tips to search for the job:

  •   Create a Resume which clearly shows your understanding on SQL Server concepts and your about earned certifications.
  •     Upload your resumes on job sites and mention your preferred job location. For example, if you are looking for the SQL Server DBA job in India, you can upload at http://www.naukri.com/http://www.monster.com/ and http://www.jobsahead.com/ to name a few.
  •    Subscribe your Email ID in the job site so that you can get to know for any latest availability.
  •     Keep revisiting the job site and if shortlisted, start giving the interviews.
  •     Don’t forget to read my section on important interview questions before you go for the interview.
What to look before you accept the DBA job:
                Once you are shortlisted as a SQL Server DBA, don’t rush to accept the offer but a thorough understanding of your roles and responsibilities is must. Discuss these with your future manager and check if you are comfortable with those. If not, it might be a good idea to tell your manager honestly so that he can set his expectations according to that and may be helping you to overcome where you lack. Ask if they can provide you some in-house trainings or mentoring.

Here You Go!
                Congratulations! You have made your dream come true of being a SQL Server DBA. Now, welcome to world of DBAs and the day to day challenges. Happy reading!!

Posted by - http://sujeet-saha.blogspot.in/

Tuesday, 7 October 2014

Concepts of SQL Server DBA

SQL SERVER DBA CONCEPTS

CORE DBA CONCEPTS OF SQL SERVER 

The History of SQL Server and Relational Databases
Relational database history and SQL Server and ANSI Standards
Relation between Application and Database

Overview of Windows Concepts
Role of Windows Operating System in SQL Server Administration
Windows Operating System Basics
Overview of Built-in accounts, Service accounts
Overview of Users and Groups
Overview of Services

Overview of Network Concepts
Role of Network in SQL Server Administration
Basics of Network Concepts, Network drives
Introduction to Work Group, Domain
Introduction to Active Directory Services (ADS)
Introduction to Domain Controller (DC)
Introduction to Domain Naming Server (DNS)
Introduction to Dynamic Host Configuration Protocol (DHCP)

SQL Server Editions
Different Editions of SQL Server and their features
Tools, Utilities and Components of SQL Server
Choosing Appropriate SQL Server Edition
Licensing issues with SQL Server

Installing and Configuring SQL Server
Pre-installation steps and Installation SQL Server
Configuring the run-time SQL Server system
Patching SQL Server - Service Packs, Hot fixes
Finding Right Service Pack or Hot Fix to be installed
Problems and precautions involved in SQL Server Patching
Up-gradation from SQL server 2000/2005 to 2008 and Migration

SQL Server Databases
System Databases Master, MSDB, Model, Temp and Resource
Creating User Databases

SQL Server Data Storage Management
SQL Server File Management Architecture
Creating Database Files
Creating SQL Server Log Files
Using SQL Server File groups
Moving Files or File Groups

SQL Server Security Management
Windows Security Management for the server
Windows Authentication Model
SQL Server Rights and Role Management
SQL Server Authentication and Mixed Mode Authentication
Logins
Mapping roles and databases to logins

SQL Server Backup & Recovery
Overview of SQL Server Backup and Recovery
Full Backups, Incremental Backups and Log Backups
Overview of Backupset, Backupmediaset, Backupmediafamily
Recovery Models in SQL Server
Restoring a SQL Server Database
Difference between Restore and Recovery
Performing Recovery
Backup and Restore through third party tools like Redgate

Overview of Testing, Development, Staging and Production Server Environments
Designing Production server from Test Server and Vice versa
Naming Convention for servers(Compliant to Industry Standards)

SQL Architecture and Memory
Physical Database Architecture
Relational (Logical) Database Architecture
Memory Management

Physical Database Engine Architecture
Pages and Extents
Physical Database Files and Filegroups
Space Allocation and Reuse
Table and Index Architecture

Relational Database Engine Architecture
Query Process Architecture
Memory Architecture
Managing Memory for Large Databases
Thread and Task Architecture
Understanding Non-Uniform Memory Access (NUMA)
Buffer Management
Distributed Query Architecture

Management
Policy Management
Configuring Database Mail
SQL Server Logs
Distribution Transaction Coordinator
Data Collection and Resource Governor (In 2008 only)

SQL Server Agent
Jobs and Job Activity Monitor
Alerts
Operators
Proxies
Error Logs

SQL Server Job Scheduling
Common Database Scheduled Jobs
Setting SQL Server and server alerts thresholds
Creating Customized Error Conditions
Scheduling multi-step job streams
Troubleshooting of failed Jobs

Maintenance Plans
Overview of Maintenance Plan
Tasks in Maintenance Plans
Creation of Maintenance Plan
Monitoring Maintenance Plan
Troubleshooting of failed Jobs created by Maintenance Plan

DBCC Commands
Introduction to Database Console Commands
Maintenance DBCC Commands
Informational DBCC Commands
Validation DBCC Commands
Miscellaneous DBCC Commands

Metadata
Understanding Metadata and its importance
System Tables and Dynamic Management Views(DMV), System Stored Procedures
Querying System Tables, DMV’s and Stored Procedures to obtain Metadata
Role of Master and MSDB in maintaining Metadata

SQL Server Configuration Manager (SSCM)
Managing Services with SQL Server
Starting and Stopping Instance from SSCM
Starting and Stopping SQL Agent from SSCM
Configuring Protocols, Ports and Aliases in SSCM
Introduction to SSIS and DTS
Using DTS to export and Import SQL Server Table data


HIGH AVAILABILITY
Overview of Disaster Recovery and High Availability solutions
Disaster types
Recovery solutions
Standby database overview
High Availability

SQL Server Database Replication
Replication Components and Replication Terminology
 
Replication Topologies – Central Publisher, Central Publisher with Remote Distributor, Central
 

Subscriber, Central Distributor, Publishing Subscriber
Types of Replication – Snapshot Replication, Merge Replication and Transactional Replication,
Peer-Peer Replication
Configuring Replication – Merge Replication , Transactional Replication, Snapshot Replication

Log Shipping
Log Shipping Overview
Log Shipping Deployment and Administration
Configuring Log Shipping using Management Studio and T-SQL
Monitoring Log Shipping

Database Mirroring
Important:
Introduction
Database Mirroring Overview
Database Mirroring Dynamics
Database Mirroring Availability Scenarios
Implementing Database Mirroring
Database Mirroring and High Availability Technologies
Conclusion

SQL Server Clustering
Overview of Clustering
Hardware and Software Requirement for Clustering.
Installing and Configuring VMWARE for building virtual environment
Installing Windows 2008 clustered environment
Installing SQL Server Active Passive (Cluster) on Windows 2008 clustered environment
Adding a node to existing SQL Server cluster
How to patch SQL Server Clustered Environment by applying SP1 on SQL Server 2008 cluster instance.
What is SQL Server Active Active Clustering
Installing SQL Server Active Active Clustering
Installing Analysis Services (SSAS) on a clustered environment
Installing / Configuring Integration Services (SSIS) on a clustered environment
Remove a node from a running clustered instance
Un-installing SQL Server Cluster

PERFORMANCE TUNING

SQL Architecture and Memory
Physical Database Architecture
Relational (Logical) Database Architecture
Memory Management

Table and Index Structure
Partitioning Tables
Partitioning Index
Clustered Index
Table Scan and Index Scan
Index Seek vs. Index Scan

Locking and Concurrency
Locking Mechanism
Types of Locks
Isolation Levels in SQL Server
Live Lock, Dead Lock and Blocking detection and resolution
Killing processes at OS level

Query Optimization and Programming Efficiency
T-SQL Tuning
Query execution Plan
Estimated Execution Plan

SQL Server performance counters
Understanding different Performance Counters
Processor:% Processor Time
PhysicalDisk: Avg.Disk Queue Length
PhysicalDisk: Disk Read Bytes/sec and Physical Disk: Disk Write Bytes/sec

Server Performance and Activity Monitoring
Perform monitoring tasks with Windows tools
Create SQL Server database alerts with Windows tools
Perform monitoring tasks with SQL Server Management Studio
Perform monitoring tasks with SQL Trace by using Transact-SQL stored procedures
Create and modify traces by using SQL Server Profiler
Start, pause, and stop traces by using SQL Server Profiler
Open traces and configure how traces are displayed by using SQL Server Profiler
Replay Traces by using SQL Server Profiler
Create, modify, and use trace templates by using SQL Server Profiler
Use SQL Server Profiler traces to collect and monitor server performance



Database Engine Tuning Adviser
Create Workloads
Tune a Database
View Tuning Output
Implement Tuning Recommendations
Create XML Input Files
Perform Exploratory Analysis
Review, Evaluate, and Clone Tuning Sessions

Performance Tools and Monitoring
SP_TRACE_SETFILTER (T-SQL) for tracking engine process events
System Monitor for tracking resource usage
Activity Monitor in SSMS to display Processes running on an instance, Blocked Processes,Locks,User activity
System Stored Procedures
DBCC(T-SQL)
Built-in-Functions(T-SQL)
Trace Flags(T-SQL)
SQL Server Profiler
Resource Governor
Data Collection

SQL Server performance tips
Proactive Actions that Ensure Optimised SQL Server Performance
Establishing a Smart SQL Server Monitoring Plan