What are the steps to take to improve performance of a poor
performing query?
- Maximum use of indexes, stored procures should be done.
- Avoid excessive use of complicated joins and cursors.
- Avoid using conditional operators using columns of different tables.
- Make use of computed columns and rewriting the query.
What is a deadlock and what is a live lock? How will you go about
resolving deadlocks?A deadlock occurs when two or
more processes waits for a resource that is acquired by or is under the control
of another process. A live lock is similar to a deadlock except the process
states keeps changing. The result of such state is that none of the process will
be complete.Deadlock detection finds and
resolves deadlocks. A WFG strategy is followed. WFG is wait for graph. In WFG,
processes are represented by nodes while dependencies are represented by edges.
Thus, if process A is waiting for a resource held by process B, there is an
edge in the WFG from the node for process A to the node for process B. a cycle
is this graph is a deadlock. WFG constantly checks for cycles or when a process
is blocked and adds a new edge to the WFG.
When a cycle is found, a victim is selected and aborted.
What is blocking and how would you troubleshoot it?:-Blocking occurs when two or more rows are locked by one SQL connection and a second connection to the SQL server requires a conflicting on lock on those rows. This results in the second connection to wait until the first lock is released.Troubleshooting blocking:
What is blocking and how would you troubleshoot it?:-Blocking occurs when two or more rows are locked by one SQL connection and a second connection to the SQL server requires a conflicting on lock on those rows. This results in the second connection to wait until the first lock is released.Troubleshooting blocking:
- SQL scripts can be written that constantly monitor the state of locking and blocking on SQL Server
- The common blocking scenarios must be identified and resolved.
- The scripts output must be checked constantly,
- The SQL profilers data must be examined regularly to detect blocking.
Explain the different types of BACKUPs available in SQL Server.
- Complete database backup: This type of backup will backup all the information in the database. Used most commonly for disaster recovery and takes the longest time to backup.
Differential databse backup: The
database is divided into partitions that have been modified since last complete
backup. Most suitable for large databases. The most recent differential backup
contains the changes from previous backups.Transaction
log backups: Backups only the changes logged in the transaction log. The
transaction log has all changes logged about a database. Once the changes are
accommodated on the database, the log is truncated or backed up.File/File Group backups: used to
recover individual files or file groups. Each filegroup can be individually
backed up. This helps in recovery only the required file or filegroup for
disaster recovery.
What is database isolation in SQL Server?Isolation in database defines how and when changes made by one
transaction can be visible to other transactions. Different isolation levels
are:
- Serializable
- Repeatable read
- Read committed
- Read uncommitted
What is a Schema in SQL Server 2005? Explain how to create a new
Schema in a Database? A schema is used to create database objects.
It can be created using CREATE SCHEMA statement. The objects created can be
moved between schemas. Multiple database users can share a single default
schema.CREATE SCHEMA sample; Table creation Create table sample.sampleinfo{id
int primary key,
name varchar(20)}
Explain how to create a Scrollable Cursor with the SCROLL Option.
Using the SCROLL keyword while declaring a
cursor allows fetching of rows in any sequence
Example:
DECLARE employee_curs SCROLL CURSOR FOR
SELECT * FROM employee;
The active set of the cursor is stored can
be accessed in any order without the need of opening and closing the cursor.
The Scroll cursors can be set for select and function cursors but not insert or
update statements.
Explain how to create a Dynamic Cursor with the DYNAMIC Option.
When a cursor is declared as DYNAMIC, the
cursor reflects all changes made to the base tables as the cursor is scrolled
around.
Declare cursor_name cursor
[ STATIC | KEYSET | DYNAMIC | FAST_FORWARD
]
FOR select_statement
The dynamic option does not support
ABSOLUTE FETCH.
What are database files and filegroups?
Database files
are used for mapping the database over some operating system files. Data and
log information are separate. SQL server database has three types of database
files:
Primary:
starting point of a database. It also points to other files in database.
Extension: .mdf
Secondary: All
data files except primary data file is a part of secondary files. Extension:
.ndf
Log files: All
log information used to recover database. Extension: .ldf
Describe in brief Databases and SQL Server Databases Architecture.
SQL Server
consists of a set of various components which fulfill data storage and data
analysis needs for enterprise applications. Database architecture: All the data
is stored in databases which is organized into logical components visible to
the end users. It’s only the administrator who needs to actually deal with the
physical storage aspect of the databases, whereas users only deal with database
tables.
Every SQL
Server instance has primarily 4 system database i.e. master, model, tempdb and
msdb. All other databases are user created databases as per their needs and
requirements.
A single SQL
Server instance is capable of handling thousands of users working on multiple
databases.
Comments
Post a Comment