Category Archives: Notes

All Articles

SQL Server Fixed Database-Level Roles

SQL Server Fixed Database-Level Roles

Fixed database roles are defined at the database level and exist in each database. Members of the db_owner and db_securityadmin database roles can manage fixed database role membership; however, only members of the db_owner database role can add members to the db_owner fixed database role.

The fixed database roles are the following:
* db_accessadmin
* db_backupoperator
* db_datareader
* db_datawriter
* db_ddladmin

For the full version of article please visit http://sqldbpool.blogspot.com/

Oracle Databse Questions and Answers

  1. What is Log Switch? – The point at which ORACLE ends writing to one online redo log file and begins writing to another is called a log switch.
  2. What is On-line Redo Log? – The On-line Redo Log is a set of tow or more on-line redo files that record all committed changes made to the database. Whenever a transaction is committed, the corresponding redo entries temporarily stores in redo log buffers of the SGA are written to an on-line redo log file by the background process LGWR. The on-line redo log files are used in cyclical fashion.
  3. Which parameter specified in the DEFAULT STORAGE clause of CREATE TABLESPACE cannot be altered after creating the tablespace? – All the default storage parameters defined for the tablespace can be changed using the ALTER TABLESPACE command. When objects are created their INITIAL and MINEXTENS values cannot be changed.
  4. What are the steps involved in Database Startup? – Start an instance, Mount the Database and Open the Database.
  5. What are the steps involved in Instance Recovery? – Rolling forward to recover data that has not been recorded in data files, yet has been recorded in the on-line redo log, including the contents of rollback segments. Rolling back transactions that have been explicitly rolled back or have not been committed as indicated by the rollback segments regenerated in step a. Releasing any resources (locks) held by transactions in process at the time of the failure. Resolving any pending distributed transactions undergoing a two-phase commit at the time of the instance failure.
  6. Can Full Backup be performed when the database is open? – No.
  7. What are the different modes of mounting a Database with the Parallel Server? – Exclusive Mode If the first instance that mounts a database does so in exclusive mode, only that Instance can mount the database. Parallel Mode If the first instance that mounts a database is started in parallel mode, other instances that are started in parallel mode can also mount the database.
  8. What are the advantages of operating a database in ARCHIVELOG mode over operating it in NO ARCHIVELOG mode? – Complete database recovery from disk failure is possible only in ARCHIVELOG mode. Online database backup is possible only in ARCHIVELOG mode.
  9. What are the steps involved in Database Shutdown? – Close the Database, Dismount the Database and Shutdown the Instance.
  10. What is Archived Redo Log? – Archived Redo Log consists of Redo Log files that have archived before being reused.
  11. What is Restricted Mode of Instance Startup? – An instance can be started in (or later altered to be in) restricted mode so that when the database is open connections are limited only to those whose user accounts have been granted the RESTRICTED SESSION system privilege.
  12. What is Partial Backup? – A Partial Backup is any operating system backup short of a full backup, taken while the database is open or shut down.
  13. What is Mirrored on-line Redo Log? – A mirrored on-line redo log consists of copies of on-line redo log files physically located on separate disks, changes made to one member of the group are made to all members.
  14. What is Full Backup? – A full backup is an operating system backup of all data files, on- line redo log files and control file that constitute ORACLE database and the parameter.
  15. Can a View based on another View? – Yes.
  16. Can a Tablespace hold objects from different Schemes? – Yes.
  17. Can objects of the same Schema reside in different tablespaces? – Yes.
  18. What is the use of Control File? – When an instance of an ORACLE database is started, its control file is used to identify the database and redo log files that must be opened for database operation to proceed. It is also used in database recovery.
  19. Do View contain Data? – Views do not contain or store data.
  20. What are the Referential actions supported by FOREIGN KEY integrity constraint? – UPDATE and DELETE Restrict – A referential integrity rule that disallows the update or deletion of referenced data. DELETE Cascade – When a referenced row is deleted all associated dependent rows are deleted.
  21. What are the type of Synonyms? – There are two types of Synonyms Private and Public
  22. What is a Redo Log? – The set of Redo Log files YSDATE,UID,USER or USERENV SQL functions, or the pseudo columns LEVEL or ROWNUM.
  23. What is an Index Segment? – Each Index has an Index segment that stores all of its data.
  24. Explain the relationship among Database, Tablespace and Data file.? – Each databases logically divided into one or more tablespaces one or more data files are explicitly created for each tablespace
  25. What are the different type of Segments? – Data Segment, Index Segment, Rollback Segment and Temporary Segment.
  26. What are Clusters? – Clusters are groups of one or more tables physically stores together to share common columns and are often used together.
  27. What is an Integrity Constrains? – An integrity constraint is a declarative way to define a business rule for a column of a table.
  28. What is an Index? – An Index is an optional structure associated with a table to have direct access to rows, which can be created to increase the performance of data retrieval. Index can be created on one or more columns of a table.
  29. What is an Extent? – An Extent is a specific number of contiguous data blocks, obtained in a single allocation, and used to store a specific type of information.
  30. What is a View? – A view is a virtual table. Every view has a Query attached to it. (The Query is a SELECT statement that identifies the columns and rows of the table(s) the view uses.)
  31. What is Table? – A table is the basic unit of data storage in an ORACLE database. The tables of a database hold all of the user accessible data. Table data is stored in rows and columns.
  32. What is a Synonym? – A synonym is an alias for a table, view, sequence or program unit.
  33. What is a Sequence? – A sequence generates a serial list of unique numbers for numerical columns of a database’s tables.
  34. What is a Segment? – A segment is a set of extents allocated for a certain logical structure.
  35. What is schema? – A schema is collection of database objects of a User.
  36. Describe Referential Integrity? – A rule defined on a column (or set of columns) in one table that allows the insert or update of a row only if the value for the column or set of columns (the dependent value) matches a value in a column of a related table (the referenced value). It also specifies the type of data manipulation allowed on referenced data and the action to be performed on dependent data as a result of any action on referenced data.
  37. What is Hash Cluster? – A row is stored in a hash cluster based on the result of applying a hash function to the row’s cluster key value. All rows with the same hash key value are stores together on disk.
  38. What is a Private Synonyms? – A Private Synonyms can be accessed only by the owner.
  39. What is Database Link? – A database link is a named object that describes a “path” from one database to another.
  40. What is a Tablespace? – A database is divided into Logical Storage Unit called tablespaces. A tablespace is used to grouped related logical structures together
  41. What is Rollback Segment? – A Database contains one or more Rollback Segments to temporarily store “undo” information.
  42. What are the Characteristics of Data Files? – A data file can be associated with only one database. Once created a data file can’t change size. One or more data files form a logical unit of database storage called a tablespace.
  43. How to define Data Block size? – A data block size is specified for each ORACLE database when the database is created. A database users and allocated free database space in ORACLE datablocks. Block size is specified in INIT.ORA file and can’t be changed latter.
  44. What does a Control file Contain? – A Control file records the physical structure of the database. It contains the following information. Database Name Names and locations of a database’s files and redolog files. Time stamp of database creation.
  45. What is difference between UNIQUE constraint and PRIMARY KEY constraint? – A column defined as UNIQUE can contain Nulls while a column defined as PRIMARY KEY can’t contain Nulls. 47.What is Index Cluster? – A Cluster with an index on the Cluster Key 48.When does a Transaction end? – When it is committed or Rollbacked.
  46. What is the effect of setting the value “ALL_ROWS” for OPTIMIZER_GOAL parameter of the ALTER SESSION command? – What are the factors that affect OPTIMIZER in choosing an Optimization approach? – Answer The OPTIMIZER_MODE initialization parameter Statistics in the Data Dictionary the OPTIMIZER_GOAL parameter of the ALTER SESSION command hints in the statement.
  47. What is the effect of setting the value “CHOOSE” for OPTIMIZER_GOAL, parameter of the ALTER SESSION Command? – The Optimizer chooses Cost_based approach and optimizes with the goal of best throughput if statistics for atleast one of the tables accessed by the SQL statement exist in the data dictionary. Otherwise the OPTIMIZER chooses RULE_based approach.
  48. What is the function of Optimizer? – The goal of the optimizer is to choose the most efficient way to execute a SQL statement.
  49. What is Execution Plan? – The combinations of the steps the optimizer chooses to execute a statement is called an execution plan.
  50. What are the different approaches used by Optimizer in choosing an execution plan? – Rule-based and Cost-based.

SQL Server 2005 Interview Questions

Download SQL Server Interview Question

• If I want to see what fields a table is made of, and what the sizes of the
fields are, what option do I have to look for?
Sp_Columns ‘TableName’

• What is a query?
A request for information from a database. There are three general methods for posing queries:
# Choosing parameters from a menu: In this method, the database system presents a list of parameters from which you can choose. This is perhaps the easiest way to pose a query because the menus guide you, but it is also the least flexible.
# Query by example (QBE): In this method, the system presents a blank record and lets you specify the fields and values that define the query.
# Query language: Many database systems require you to make requests for information in the form of a stylized query that must be written in a special query language. This is the most complex method because it forces you to learn a specialized language, but it is also the most powerful.

• What is the purpose of the model database?
It works as Template Database for the Create Database Syntax

• What is the purpose of the master database?
Master database keeps the information about sql server configuration, databases users etc

• What is the purpose of the tempdb database?
Tempdb database keeps the information about the temporary objects (#TableName, #Procedure). Also the sorting, DBCC operations are performed in the TempDB

• What is the purpose of the USE command?
Use command is used for to select the database. For i.e Use Database Name

• If you delete a table in the database, will the data in the table be deleted too?
Yes

• What is the Parse Query button used for? How does this help you?
Parse query button is used to check the SQL Query Syntax

• Tables are created in a ____________________ in SQL Server 2005.
resouce database(System Tables)

• What is usually the first word in a SQL query?
SELECT

• Does a SQL Server 2005 SELECT statement require a FROM?
NO

• Can a SELECT statement in SQL Server 2005 be used to make an assignment? Explain with examples.
Yes. Select @MyDate = GetDate()

• What is the ORDER BY used for?
Order By clause is used for sorting records in Ascending or Descending order

• Does ORDER BY actually change the order of the data in the tables or does it just
change the output?

Order By clause change only the output of the data

• What is the default order of an ORDER BY clause?
Ascending Order

• What kind of comparison operators can be used in a WHERE clause?

Operator Meaning
= (Equals) Equal to
> (Greater Than) Greater than
< (Less Than) Less than
>= (Greater Than or Equal To) Greater than or equal to
<= (Less Than or Equal To) Less than or equal to
<> (Not Equal To) Not equal to
!= (Not Equal To) Not equal to (not SQL-92 standard)
!< (Not Less Than) Not less than (not SQL-92 standard)
!> (Not Greater Than) Not greater than (not SQL-92 standard)

• What are four major operators that can be used to combine conditions on a WHERE
clause?

OR, AND, IN and BETWEEN

• What are the logical operators?

Operator Meaning
ALL TRUE if all of a set of comparisons are TRUE.
AND TRUE if both Boolean expressions are TRUE.
ANY TRUE if any one of a set of comparisons are TRUE.
BETWEEN TRUE if the operand is within a range.
EXISTS TRUE if a subquery contains any rows.
IN TRUE if the operand is equal to one of a list of expressions.
LIKE TRUE if the operand matches a pattern.
NOT Reverses the value of any other Boolean operator.
OR TRUE if either Boolean expression is TRUE.
SOME TRUE if some of a set of comparisons are TRUE.

•In a WHERE clause, do you need to enclose a text column in quotes? Do you need to enclose a numeric column in quotes?
Enclose Text in Quotes (Yes)
Enclose Number in Quotes (NO)

• Is a null value equal to anything? Can a space in a column be considered a null value? Why or why not?
No NULL value means nothing. We can’t consider space as NULL value.

• Will COUNT(column) include columns with null values in its count?
Yes, it will include the null column in count

• What are column aliases? Why would you want to use column aliases? How can you embed blanks in column aliases?
You can create aliases for column names to make it easier to work with column names, calculations, and summary values. For example, you can create a column alias to:
* Create a column name, such as “Total Amount,” for an expression such as (quantity * unit_price) or for an aggregate function.
* Create a shortened form of a column name, such as “d_id” for “discounts.stor_id.”
After you have defined a column alias, you can use the alias in a Select query to specify query output

• What are table aliases?
Aliases can make it easier to work with table names. Using aliases is helpful when:
* You want to make the statement in the SQL Pane shorter and easier to read.
* You refer to the table name often in your query — such as in qualifying column names — and want to be sure you stay within a specific character-length limit for your query. (Some databases impose a maximum

length for queries.)
* You are working with multiple instances of the same table (such as in a self-join) and need a way to refer to one instance or the other.

• What are table qualifiers? When should table qualifiers be used?
[@table_qualifier =] qualifier
Is the name of the table or view qualifier. qualifier is sysname, with a default of NULL. Various DBMS products support three-part naming for tables (qualifier.owner.name). In SQL Server, this column represents the database name. In some products, it represents the server name of the table’s database environment.

• Are semicolons required at the end of SQL statements in SQL Server 2005?
No it is not required

• Do comments need to go in a special place in SQL Server 2005?

No its not necessary

• When would you use the ROWCOUNT function versus using the WHERE clause?

Returns the number of rows affected by the last statement. If the number of rows is more than 2 billion, use ROWCOUNT_BIG.
Transact-SQL statements can set the value in @@ROWCOUNT in the following ways:
* Set @@ROWCOUNT to the number of rows affected or read. Rows may or may not be sent to the client.
* Preserve @@ROWCOUNT from the previous statement execution.
* Reset @@ROWCOUNT to 0 but do not return the value to the client.
Statements that make a simple assignment always set the @@ROWCOUNT value to 1.

• Is SQL case-sensitive? Is SQL Server 2005 case-sensitive?

No both are not case-sensitive. Case sensitivity depends on the collation you choose.
If you installed SQL Server with the default collation options, you might find that the following queries return the same results:

CREATE TABLE mytable
(
mycolumn VARCHAR(10)
)
GO

SET NOCOUNT ON

INSERT mytable VALUES(‘Case’)
GO

SELECT mycolumn FROM mytable WHERE mycolumn=’Case’
SELECT mycolumn FROM mytable WHERE mycolumn=’caSE’
SELECT mycolumn FROM mytable WHERE mycolumn=’case’

You can alter your query by forcing collation at the column level:

SELECT myColumn FROM myTable
WHERE myColumn COLLATE Latin1_General_CS_AS = ‘caSE’

SELECT myColumn FROM myTable
WHERE myColumn COLLATE Latin1_General_CS_AS = ‘case’

SELECT myColumn FROM myTable
WHERE myColumn COLLATE Latin1_General_CS_AS = ‘Case’

— if myColumn has an index, you will likely benefit by adding
— AND myColumn = ‘case’

• What is a synonym? Why would you want to create a synonym?

SYNONYM is a single-part name that can replace a two, three or four-part name in many SQL statements. Using SYNONYMS in RDBMS cuts down on typing.
SYNONYMs can be created for the following objects:

* Table
* View
* Assembly (CLR) Stored Procedure
* Assembly (CLR) Table-valued Function
* Assembly (CLR) Scalar Function
* Assembly Aggregate (CLR) Aggregate Functions
* Replication-filter-procedure
* Extended Stored Procedure
* SQL Scalar Function
* SQL Table-valued Function
* SQL Inline-table-valued Function
* SQL Stored Procedure

Syntax
CREATE SYNONYM [ schema_name_1. ] synonym_name FOR < object >

< object > :: =
{
[ server_name.[ database_name ] . [ schema_name_2 ].| database_name . [ schema_name_2 ].| schema_name_2. ] object_name
}

• Can a synonym name of a table be used instead of a table name in a SELECT statement?
Yes

• Can a synonym of a table be used when you are trying to alter the definition of a table?
Not Sure will try

• Can you type more than one query in the query editor screen at the same time?
Yes we can.

• While you are inserting values into a table with the INSERT INTO .. VALUES option, does the order of the columns in the INSERT statement have to be the same as the order of the columns in the table?
Not Necessary

• While you are inserting values into a table with the INSERT INTO .. SELECT option, does the order of the columns in the INSERT statement have to be the same as the order of the columns in the table?
Yes if you are not specifying the column names in the insert clause, you need to maintain the column order in SELECT statement

• When would you use an INSERT INTO .. SELECT option versus an INSERT INTO .. VALUES option? Give an example of each.
INSERT INTO .. SELECT is used insert data in to table from diffrent tables or condition based insert
INSERT INTO .. VALUES you have to specify the insert values

• What does the UPDATE command do?
Update command will modify the existing record

• Can you change the data type of a column in a table after the table has been created? If so,which command would you use?

Yes we can. Alter Table Modify Column

• Will SQL Server 2005 allow you to reduce the size of a column?
Yes it allows

• What integer data types are available in SQL Server 2005?

Exact-number data types that use integer data.

Data type Range Storage
bigint -2^63 (-9,223,372,036,854,775,808) to 2^63-1 (9,223,372,036,854,775,807) 8 Bytes
int -2^31 (-2,147,483,648) to 2^31-1 (2,147,483,647) 4 Bytes
smallint -2^15 (-32,768) to 2^15-1 (32,767) 2 Bytes
tinyint 0 to 255 1 Byte


• What is the default value of an integer data type in SQL Server 2005?

NULL

• What is the difference between a CHAR and a VARCHAR datatype?

CHAR and VARCHAR data types are both non-Unicode character data types with a maximum length of 8,000 characters. The main difference between these 2 data types is that a CHAR data type is fixed-length while a VARCHAR is variable-length. If the number of characters entered in a CHAR data type column is less than the declared column length, spaces are appended to it to fill up the whole length.

Another difference is in the storage size wherein the storage size for CHAR is n bytes while for VARCHAR is the actual length in bytes of the data entered (and not n bytes).

You should use CHAR data type when the data values in a column are expected to be consistently close to the same size. On the other hand, you should use VARCHAR when the data values in a column are expected to vary considerably in size.

• Does Server SQL treat CHAR as a variable-length or fixed-length column?
SQL Server treats CHAR as fixed length column

• If you are going to have too many nulls in a column, what would be the best data type to use?
Variable length columns only use a very small amount of space to store a NULL so VARCHAR datatype is the good option for null values

• When columns are added to existing tables, what do they initially contain?

The column initially contains the NULL values

• What command would you use to add a column to a table in SQL Server?

ALTER TABLE tablename ADD column_name DATATYPE

• Does an index slow down updates on indexed columns?
Yes

• What is a constraint?

Constraints in Microsoft SQL Server 2000/2005 allow us to define the ways in which we can automatically enforce the integrity of a database. Constraints define rules regarding permissible values allowed in columns and are the standard mechanism for enforcing integrity. Using constraints is preferred to using triggers, stored procedures, rules, and defaults, as a method of implementing data integrity rules. The query optimizer also uses constraint definitions to build high-performance query execution plans.

• How many indexes does SQL Server 2005 allow you to have on a table?
250 indices per table

• What command would you use to create an index?
CREAT INDEX INDEXNAME ON TABLE(COLUMN NAME)

• What is the default ordering that will be created by an index (ascending or descending)?
Clustered indexes can be created in SQL Server databases. In such cases the logical order of the index key values will be the same as the physical order of rows in the table.
By default it is ascending order, we can also specify the index order while index creation.
CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name
ON { table | view } ( column [ ASC | DESC ] [ ,…n ] )

• How do you delete an index?
DROP INDEX authors.au_id_ind

• What does the NOT NULL constraint do?
Constrain will not allow NULL values in the column

• What command must you use to include the NOT NULL constraint after a table has already been created?
DEFAULT, WITH CHECK or WITH NOCHECK

• When a PRIMARY KEY constraint is included in a table, what other constraints does this imply?
Unique + NOT NULL

• What is a concatenated primary key?

Each table has one and only one primary key, which can consist of one or many columns. A concatenated primary key comprises two or more columns. In a single table, you might find several columns, or groups of columns, that might serve as a primary key and are called candidate keys. A table can have more than one candidate key, but only one candidate key can become the primary key for that table

• How are the UNIQUE and PRIMARY KEY constraints different?
A UNIQUE constraint is similar to PRIMARY key, but you can have more than one UNIQUE constraint per table.

When you declare a UNIQUE constraint, SQL Server creates a UNIQUE index to speed up the process of searching for duplicates. In this case the index defaults to NONCLUSTERED index, because you can have only one CLUSTERED index per table.

* The number of UNIQUE constraints per table is limited by the number of indexes on the table i.e 249 NONCLUSTERED index and one possible CLUSTERED index.

Contrary to PRIMARY key UNIQUE constraints can accept NULL but just once. If the constraint is defined in a combination of fields, then every field can accept NULL and can have some values on them, as long as the combination values is unique.

• What is a referential integrity constraint? What two keys does the referential integrity constraint usually include?

Referential integrity in a relational database is consistency between coupled tables. Referential integrity is usually enforced by the combination of a primary key or candidate key (alternate key) and a foreign key. For referential integrity to hold, any field in a table that is declared a foreign key can contain only values from a parent table’s primary key or a candidate key. For instance, deleting a record that contains a value referred to by a foreign key in another table would break referential integrity. The relational database management system (RDBMS) enforces referential integrity, normally either by deleting the foreign key rows as well to maintain integrity, or by returning an error and not performing the delete. Which method is used would be determined by the referential integrity constraint, as defined in the data dictionary.

• What is a foreign key?

FOREIGN KEY constraints identify the relationships between tables.
A foreign key in one table points to a candidate key in another table. Foreign keys prevent actions that would leave rows with foreign key values when there are no candidate keys with that value. In the following sample, the order_part table establishes a foreign key referencing the part_sample table defined earlier. Usually, order_part would also have a foreign key against an order table, but this is a simple example.

CREATE TABLE order_part
(order_nmbr int,
part_nmbr int
FOREIGN KEY REFERENCES part_sample(part_nmbr)
ON DELETE NO ACTION,
qty_ordered int)
GO

You cannot insert a row with a foreign key value (except NULL) if there is no candidate key with that value. The ON DELETE clause controls what actions are taken if you attempt to delete a row to which existing foreign keys point. The ON DELETE clause has two options:

NO ACTION specifies that the deletion fails with an error.

CASCADE specifies that all the rows with foreign keys pointing to the deleted row are also deleted.
The ON UPDATE clause defines the actions that are taken if you attempt to update a candidate key value to which existing foreign keys point. It also supports the NO ACTION and CASCADE options.


• What does the ON DELETE CASCADE option do?

ON DELETE CASCADE
Specifies that if an attempt is made to delete a row with a key referenced by foreign keys in existing rows in other tables, all rows containing those foreign keys are also deleted. If cascading referential actions have also been defined on the target tables, the specified cascading actions are also taken for the rows deleted from those tables.

ON UPDATE CASCADE
Specifies that if an attempt is made to update a key value in a row, where the key value is referenced by foreign keys in existing rows in other tables, all of the foreign key values are also updated to the new value specified for the key. If cascading referential actions have also been defined on the target tables, the specified cascading actions are also taken for the key values updated in those tables.


• What does the ON UPDATE NO ACTION do?

ON DELETE NO ACTION
Specifies that if an attempt is made to delete a row with a key referenced by foreign keys in existing rows in other tables, an error is raised and the DELETE is rolled back.

ON UPDATE NO ACTION
Specifies that if an attempt is made to update a key value in a row whose key is referenced by foreign keys in existing rows in other tables, an error is raised and the UPDATE is rolled back.

• Can you use the ON DELETE and ON UPDATE in the same constraint?
Yes we can.
CREATE TABLE part_sample
(part_nmbr int PRIMARY KEY,
part_name char(30),
part_weight decimal(6,2),
part_color char(15) )

CREATE TABLE order_part
(order_nmbr int,
part_nmbr int
FOREIGN KEY REFERENCES part_sample(part_nmbr)
ON DELETE NO ACTION ON UPDATE NO ACTION,
qty_ordered int)
GO

Download SQL Server Interview Question

Database Certifications

Database Certifications

The Information Technology industry is experiencing a certification craze! Whether you’re looking for a valuable career credential or a structured approach to learning, database certifications are a good place to start.
Database Certification Spotlight: Office Specialist
If you use Microsoft Access as a regular part of your job, or you hope to gain employment in the field of user-level databases, you may wish to consider the Microsoft Office Specialist (MOS) program’s Accesstrack. This program (formerly known as the Microsoft Office User Specialist or MOUS program) allows users of the popular desktop database to prove their knowledge in a structured exam environment.
Database Certification Spotlight: OCP
Want to prove your Oracle Database Administration prowess to the world? Check out the Oracle 9i certification program!
Database Certification Spotlight: MCDBA
Interested in earning your Microsoft Certified Database Administrator (MCDBA) credential? Get off to the right start with this informative article!
Certification Spotlight: MCDBA
Interested in earning your Microsoft Certified Database Administrator (MCDBA) credential? Get off to the right start with this informative article!
Certification Spotlight: Microsoft Office Specialist
Looking to prove that you know your stuff when it comes to Microsoft Access? The Microsoft Office Specialist program may be just what you’re looking for!
Certification Spotlight: Oracle Certified Professional
Want to prove your Oracle Database Administration prowess to the world? Check out the Oracle 9i certification program!
Get Certified!
Are you a database professional seeking to polish your resume in the hopes of landing a better gig? Perhaps you’re just getting started in database administration and you’d like to establish your credentials in the field.
Brainbench Certification Programs
Brainbench.com offers free online certfication programs for numerous Microsoft and Oracle database product lines as well as general database techniques.
Cramsessions for Microsoft Certifications
Cramsession.com’s Microsoft exam study sheets provide all of the information you need to pass your certification exam in a brief summary. If you’re planning to take a Microsoft test, definitley give these guides a look!
Cramsessions for Oracle Certifications
Cramsession.com brings you concise study sheets for all of the Oracle certification exams. These are a definite “must read” for certification candidates.
Microsoft Certified Database Administrator
Think you’re an expert at SQL Server? The MCDBA program gives you the chance to prove your mettle to current and future employers. Check out this link for the program details.
IBM DB2 Certifications
Obtain details on the various professional certification programs available from IBM for the DB2 Universal Database. Programs include database administrator, business intelligence and applications development.
Oracle Certified Professional Program Fact Sheet
This concise fact sheet from Oracle offers an overview of the various tracks in the OCP program, training options and exam information. A definite “must read” before beginning your quest for Oracle certification.
Sybase Professional Certification Programs
Detailed information on the Sybase database professional and Sybase PowerBuilder developer programs direct from the source.

Database Mirroring Operating Modes

Database Mirroring Operating Modes

Database Mirroring is configured for three different operating modes. These modes are high availability, high performance and high protection. Each offers a different set of functionality and must be understood in order to select the appropriate configurations.

  • High Availability Operating Mode
    • The High Availability Operating Mode provides durable, synchronous transfer of data between the principal and mirror instances including automatic failure detection and failover. With this functionality comes a performance hit. This is because a transaction is not considered committed until SQL Server has successfully committed it to the transaction log on both the principal and the mirror database. As the distance between the principal and the mirror increases, the performance impact also increases.
    • In addition, there is an continuous ping process between all three nodes (if a witness is used) to detect failover. If witness server is not visible from the mirror, you must either reconfigure the operating mode for the database mirroring session or turn off the witness. Alternatively, you can manually fail over a database mirroring session at the mirror in High Availability Mode by issuing the ALTER DATABASE SET PARTNER FAILOVER command at the principal. The same command can also be issued if you have to take principal down for maintenance.
  • High Performance Operating Mode
    • With the High Performance Operating Mode the overall architecture acts as a warm standby and does not support automatic failure detection or failover. The data transfer between the principal and mirror instances is asynchronous. As such, this mode provides better performance and permits geographic separate between the principal and mirror SQL Server instances. Unfortunately, this mode increases latency and can lead to greater data loss in the event of primary database failure if it is not managed properly.
  • High Protection Operating Mode
    • The High Protection Operating Mode operates very similar to the High Availability Mode except the failover and promotion (mirror to principal) process is manual. With this mode the data transfer is synchronous. This mode is typically not recommended except in the event of replacing the existing witness SQL Server. After replacing or recovering the witness SQL Server, the operating mode should be changed back to High Availability Operating Mode