All Topics  
Microsoft SQL Server

 

   Email Print
   Bookmark   Link






 

Microsoft SQL Server



 
 
Microsoft SQL Server is a relational database management system
Relational database management system

A Relational database management system is a database management system that is based on the relational model as introduced by E. F. Codd. Most popular commercial and open source databases currently in use are based on the relational model....
 (RDBMS) produced by Microsoft
Microsoft

Microsoft Corporation is a multinational corporation computer technology corporation that develops, manufactures, licenses, and supports a wide range of computer software products for computing devices....
. Its primary query language
Query language

Query languages are computer languages used to make query into databases and information systems.Broadly, query languages can be classified according to whether they are database query languages or information retrieval query languages....
s are MS-SQL
SQL

SQL is a database computer language designed for the retrieval and management of data in relational database management systems , database schema creation and modification, and database object access control management....
 and T-SQL
Transact-SQL

Transact-SQL is Microsoft's and Sybase's proprietary extension to SQL. Microsoft's implementation ships in the Microsoft SQL Server product. Sybase uses the language in its Adaptive Server Enterprise, the successor to Sybase SQL Server....
.

History
Genesis

The code base for MS SQL Server (prior to version 7.0) originated in Sybase SQL Server
Adaptive Server Enterprise

Adaptive Server Enterprise is Sybase flagship enterprise-class relational database management system product. ASE is predominantly used on the Unix platform but is also available for Windows....
, and was Microsoft's entry to the enterprise-level database market, competing against Oracle
Oracle database

The Oracle Database consists of a relational database management system produced and marketed by Oracle Corporation. , Oracle had become a major presence in database computing....
, IBM, and, later, Sybase
Sybase

Sybase Inc. is an enterprise software and services company exclusively focused on managing and mobilizing information....
 itself. Microsoft, Sybase and Ashton-Tate
Ashton-Tate

Ashton-Tate was a United States based software company best known for developing the popular dBASE database application. Ashton-Tate grew from a small garage-based company to become a multinational corporation with software development centers spread across the United States and Europe....
 originally teamed up to create and market the first version named SQL Server 1.0 for OS/2
OS/2

OS/2 is a computer operating system, initially created by Microsoft and IBM, then later developed by IBM exclusively. The name stands for "Operating System/2," because it was introduced as part of the same generation change release as IBM's "IBM Personal System/2 " line of second-generation personal computers....
 (about 1989) which was essentially the same as Sybase SQL Server 3.0 on Unix
Unix

Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
, VMS, etc.






Discussion
Ask a question about 'Microsoft SQL Server'
Start a new discussion about 'Microsoft SQL Server'
Answer questions from other users
Full Discussion Forum



Encyclopedia


Microsoft SQL Server is a relational database management system
Relational database management system

A Relational database management system is a database management system that is based on the relational model as introduced by E. F. Codd. Most popular commercial and open source databases currently in use are based on the relational model....
 (RDBMS) produced by Microsoft
Microsoft

Microsoft Corporation is a multinational corporation computer technology corporation that develops, manufactures, licenses, and supports a wide range of computer software products for computing devices....
. Its primary query language
Query language

Query languages are computer languages used to make query into databases and information systems.Broadly, query languages can be classified according to whether they are database query languages or information retrieval query languages....
s are MS-SQL
SQL

SQL is a database computer language designed for the retrieval and management of data in relational database management systems , database schema creation and modification, and database object access control management....
 and T-SQL
Transact-SQL

Transact-SQL is Microsoft's and Sybase's proprietary extension to SQL. Microsoft's implementation ships in the Microsoft SQL Server product. Sybase uses the language in its Adaptive Server Enterprise, the successor to Sybase SQL Server....
.

History


Genesis



The code base for MS SQL Server (prior to version 7.0) originated in Sybase SQL Server
Adaptive Server Enterprise

Adaptive Server Enterprise is Sybase flagship enterprise-class relational database management system product. ASE is predominantly used on the Unix platform but is also available for Windows....
, and was Microsoft's entry to the enterprise-level database market, competing against Oracle
Oracle database

The Oracle Database consists of a relational database management system produced and marketed by Oracle Corporation. , Oracle had become a major presence in database computing....
, IBM, and, later, Sybase
Sybase

Sybase Inc. is an enterprise software and services company exclusively focused on managing and mobilizing information....
 itself. Microsoft, Sybase and Ashton-Tate
Ashton-Tate

Ashton-Tate was a United States based software company best known for developing the popular dBASE database application. Ashton-Tate grew from a small garage-based company to become a multinational corporation with software development centers spread across the United States and Europe....
 originally teamed up to create and market the first version named SQL Server 1.0 for OS/2
OS/2

OS/2 is a computer operating system, initially created by Microsoft and IBM, then later developed by IBM exclusively. The name stands for "Operating System/2," because it was introduced as part of the same generation change release as IBM's "IBM Personal System/2 " line of second-generation personal computers....
 (about 1989) which was essentially the same as Sybase SQL Server 3.0 on Unix
Unix

Unix is a computer operating system originally developed in 1969 by a group of American Telephone & Telegraph employees at Bell Labs, including Ken Thompson , Dennis Ritchie, Douglas McIlroy, and Joe Ossanna....
, VMS, etc. Microsoft SQL Server 4.2 was shipped around 1992 (available bundled with Microsoft OS/2
OS/2

OS/2 is a computer operating system, initially created by Microsoft and IBM, then later developed by IBM exclusively. The name stands for "Operating System/2," because it was introduced as part of the same generation change release as IBM's "IBM Personal System/2 " line of second-generation personal computers....
 version 1.3). Later Microsoft SQL Server 4.21 for Windows NT was released at the same time as Windows NT 3.1. Microsoft SQL Server v6.0 was the first version designed for NT, and did not include any direction from Sybase.

About the time Windows NT
Windows NT

Windows NT is a family of operating systems produced by Microsoft, the first version of which was released in July 1993. It was originally designed to be a powerful high-level-language-based, processor-independent, multiprocessing, multiuser operating system with features comparable to Unix....
 was released, Sybase and Microsoft parted ways and each pursued their own design and marketing schemes. Microsoft negotiated exclusive rights to all versions of SQL Server written for Microsoft operating systems. Later, Sybase changed the name of its product to Adaptive Server Enterprise
Adaptive Server Enterprise

Adaptive Server Enterprise is Sybase flagship enterprise-class relational database management system product. ASE is predominantly used on the Unix platform but is also available for Windows....
 to avoid confusion with Microsoft SQL Server. Until 1994, Microsoft's SQL Server carried three Sybase copyright notices as an indication of its origin.

Since parting ways, several revisions have been done independently. SQL Server 7.0 was the first true GUI
Gui

Gui or guee is a generic term to refer to grillinged dishes in Korean cuisine. These most commonly have meat or fish as their primary ingredient, but may in some cases also comprise grilled vegetables or other vegetarian ingredients....
 based database server and was a rewrite from the legacy Sybase code. It was succeeded by SQL Server 2000, which was the first edition to be launched in a variant for the IA-64 architecture.

In the eight years since release of Microsoft's previous SQL Server product (SQL Server 2000), advancements have been made in performance, the client IDE tools, and several complementary systems that are packaged with SQL Server 2005. These include: an ETL
Extract, transform, load

Extract, transform, and load in database usage and especially in data warehouse involves:* data extraction from outside sources* data transformation it to fit operational needs ...
 tool (SQL Server Integration Services or SSIS
SQL Server Integration Services

SQL Server Integration Services is a component of Microsoft SQL Server 2005 and 2008. It replaces Data Transformation Services, which has been a feature of SQL Server since Version 7.0....
), a Reporting Server, an OLAP
OLAP

Online analytical processing, or OLAP , is an approach to quickly answer multi-dimensional analytical queries. OLAP is part of the broader category of business intelligence, which also encompasses relational reporting and data mining....
 and data mining
Data mining

Data mining is the process of extracting hidden patterns from data. As more data is gathered, with the amount of data doubling every three years, data mining is becoming an increasingly important tool to transform this data into information....
 server (Analysis Services
Microsoft Analysis Services

Microsoft Analysis Services is a group of OLAP and Data Mining services provided in Microsoft SQL Server....
), and several messaging technologies, specifically Service Broker and Notification Services.

SQL Server 2005


SQL Server 2005, released in October 2005, is the successor to SQL Server 2000. It included native support for managing XML data, in addition to relational data
Relational database

A relational database is a database that groups data using common attributes found in the data set. The resulting "clumps" of organized data are much easier for people to understand....
. For this purpose, it defined an xml data type that could be used either as a data type in database columns or as literals in queries. XML columns can be associated with XSD schemas; XML data being stored is verified against the schema. XML is converted to an internal binary data type before being stored in the database. Specialized indexing methods were made available for XML data. XML data is queried using XQuery
XQuery

XQuery is a query language that is designed to query collections of XML data. It is semantic similarity to SQL.XQuery 1.0 was developed by the XML Query working group of the W3C....
; SQL Server 2005 added some extensions to the T-SQL language to allow embedding XQuery queries in T-SQL. In addition, it also defines a new extension to XQuery, called XML DML, that allows query-based modifications to XML data. SQL Server 2005 also allows a database server to be exposed over web service
Web service

A Web service is defined by the W3C as "a software system designed to support interoperability Machine to Machine interaction over a computer network"....
s using TDS packets encapsulated within SOAP (protocol) requests. When the data is accessed over web services, results are returned as XML.

For relational data, T-SQL has been augmented with error handling features and support for recursive queries. SQL Server 2005 has also been enhanced with new indexing algorithms and better error recovery systems. Data pages are checksum
Checksum

A checksum or hash sum is a fixed-size data computed from an arbitrary block of digital data for the purpose of error detection that may have been introduced during its telecommunications or computer storage....
med for better error resiliency, and optimistic concurrency support has been added for better performance. Permissions and access control have been made more granular and the query processor handles concurrent execution of queries in a more efficient way. Partitions on tables and indexes are supported natively, so scaling out a database onto a cluster
Cluster (computing)

A computer cluster is a group of linked computers, working together closely so that in many respects they form a single computer. The components of a cluster are commonly, but not always, connected to each other through fast local area networks....
 is easier. SQL CLR was introduced with SQL Server 2005 to let it integrate with the .NET Framework
.NET Framework

The Microsoft .NET Framework is a software framework that is available with several Microsoft Windows operating systems. It includes a large Library of coded solutions to prevent common programming problems and a virtual machine that manages the execution of programs written specifically for the Software framework....
.

SQL Server 2008


The current version of SQL Server, SQL Server 2008, (code-named "Katmai",) was released (RTM) on August 6, 2008 and aims to make data management self-tuning
Self-tuning

In control theory a self-tuning system is capable of optimizing its own internal running parameters in order to maximize or minimize the fulfillment of an objective function; typically efficiency or error....
, self organizing, and self maintaining with the development of SQL Server Always On technologies, to provide near-zero downtime. SQL Server 2008 will also include support for structured and semi-structured data, including digital media formats for pictures, audio, video and other multimedia data. In current versions, such multimedia data can be stored as BLOBs
Binary large object

A binary large object, also known as a blob, is a collection of binary data stored as a single entity in a database management system. Blobs are typically s, sound or other multimedia objects, though sometimes binary executable code is stored as a binary blob....
 (binary large objects), but they are generic bitstreams. Intrinsic awareness of multimedia data will allow specialized functions to be performed on them. According to Paul Flessner, senior Vice President, Server Applications, Microsoft Corp.
Microsoft

Microsoft Corporation is a multinational corporation computer technology corporation that develops, manufactures, licenses, and supports a wide range of computer software products for computing devices....
, SQL Server 2008 can be a data storage backend for different varieties of data: XML, email, time/calendar, file, document, spatial, etc as well as perform search, query, analysis, sharing, and synchronization across all data types.

Other new data types include specialized date and time types and a Spatial data type for location-dependent data. Better support for unstructured and semi-structured data is provided using the new FILESTREAM data type, which can be used to reference any file stored on the file system. Structured data and metadata about the file is stored in SQL Server database, whereas the unstructured component is stored in the file system. Such files can be accessed both via Win32 file handling APIs as well as via SQL Server using T-SQL; doing the latter accesses the file data as a BLOB. Backing up and restoring the database backs up or restores the referenced files as well. SQL Server 2008 also natively supports hierarchical data, and includes T-SQL constructs to directly deal with them, without using recursive queries.

The Full-Text Search
SQL Server Full Text Search

'SQL Server Full Text Search' is an inexact string matching technology for Microsoft SQL Server. It is a powerful and fast way of referencing the contents of almost any character-based column on SQL Server 2000, SQL Server 2005, and SQL Server 2008 ....
 functionality has been integrated with the database engine, which simplifies management and improves performance.

Spatial data will be stored in two types. A "Flat Earth" (GEOMETRY or planar) data type represents geospatial data which has been projected from its native, spherical, coordinate system into a plane. A "Round Earth" data type (GEOGRAPHY) uses an ellipsoidal model in which the Earth is defined as a single continuous entity which does not suffer from the singularities such as the international dateline, poles, or map projection zone "edges". Approximately 70 methods are available to represent spatial operations for the Open Geospatial Consortium
Open Geospatial Consortium

Founded in 1994, the Open Geospatial Consortium is an international voluntary consensus standards organization. In the OGC, more than 370+ commercial, governmental, nonprofit and research organizations worldwide collaborate in an open consensus process encouraging development and implementation of standards for geospatial content and service...
 Simple Features for SQL, Version 1.1.

SQL Server includes better compression features, which also helps in improving scalability. It also includes Resource Governor that allows reserving resources for certain users or workflows. It also includes capabilities for transparent encryption of data as well as compression of backups. SQL Server 2008 supports the ADO.NET Entity Framework
ADO.NET Entity Framework

ADO.NET Entity Framework is an object-relational mapping framework for the .NET Framework. This framework is an ORM offering from Microsoft for the .NET Framework....
 and the reporting tools, replication, and data definition will be built around the Entity Data Model. SQL Server Reporting Services
SQL Server Reporting Services

SQL Server Reporting Services is a server-based report generation software system from Microsoft. It can be used to prepare and deliver a variety of interactive and printed reports....
 will gain charting capabilities from the integration of the data visualization products from Dundas Data Visualization Inc., which was acquired by Microsoft. On the management side, SQL Server 2008 includes the Declarative Management Framework which allows configuring policies and constraints, on the entire database or certain tables, declaratively. The version of SQL Server Management Studio
SQL Server Management Studio

SQL Server Management Studio is a tool included with Microsoft Microsoft SQL Server and later versions for configuring, managing, and administering all components within Microsoft SQL Server....
 included with SQL Server 2008 supports IntelliSense
IntelliSense

IntelliSense is Microsoft's implementation of autocompletion, best known for its use in the Microsoft Visual Studio integrated development environment....
 for SQL queries against a SQL Server 2008 Database Engine. SQL Server 2008 also makes the databases available via Windows PowerShell
Windows PowerShell

Windows PowerShell is an extensible command line interface shell and associated scripting language from Microsoft. It was released in 2006 and is currently available for Windows XP SP2/SP3, Windows Server 2003, Windows Vista and is included in Windows Server 2008 as well as Windows 7 as an optional feature....
 providers and management functionality available as Cmdlets, so that the server and all the running instances can be managed from Windows PowerShell
Windows PowerShell

Windows PowerShell is an extensible command line interface shell and associated scripting language from Microsoft. It was released in 2006 and is currently available for Windows XP SP2/SP3, Windows Server 2003, Windows Vista and is included in Windows Server 2008 as well as Windows 7 as an optional feature....
.

Editions


Microsoft makes SQL Server available in multiple versions, with different feature sets and targeting different users. These versions are:

SQL Server Compact Edition (SQL CE)
SQL Server Compact

Microsoft SQL Server Compact is a compact relational database produced by Microsoft for applications that run on mobile devices and desktops. Prior to the introduction of the desktop platform, it was known as SQL Server for Windows CE and SQL Server Mobile Edition....
: The compact edition is an embedded database engine. Unlike the other versions of SQL Server, the SQL CE engine is based on SQL Mobile (initially designed for use with hand-held devices) and does not share the same binaries. Due to its small size (1MB DLL footprint), it has a markedly reduced feature set compared to the other editions. For example, it supports a subset of the standard data types, does not support stored procedures or Views or multiple-statement batches (among other limitations). It is limited to 4GB maximum database size and cannot be run as a Windows service, Compact Edition must be hosted by the application using it. The 3.5 version includes considerable work that supports ADO.NET Synchronization Services. SQL Server Express Edition
SQL Server Express

Microsoft SQL Server Express is the freely-downloadable and distributable version of Microsoft's Microsoft SQL Server relational database management system....
: SQL Server Express Edition is a scaled down, free edition of SQL Server, which includes the core database engine. While there are no limitations on the number of databases or users supported, it is limited to using one processor, 1 GB memory and 4 GB database files. The entire database is stored in a single .mdf file, and thus making it suitable for XCOPY deployment
XCOPY deployment

XCOPY deployment is a term used to describe a software application's ability to be installed into a Microsoft Windows system simply by copying files....
. It is intended as a replacement for MSDE
MSDE

Microsoft SQL Server Desktop Engine is a relational database management system developed by Microsoft. It is scaled-down version of Microsoft SQL Server 7.0 or 2000 which is free for non-commercial use as well as certain limited commercial use....
. Two additional versions provide a superset of features not in the original Express Edition. The first is SQL Server Express with Tools, which includes SQL Server Management Studio
SQL Server Management Studio

SQL Server Management Studio is a tool included with Microsoft Microsoft SQL Server and later versions for configuring, managing, and administering all components within Microsoft SQL Server....
 Basic. SQL Server Express with Advanced Services adds full-text search capability and reporting services. SQL Server 2005 Embedded Edition (SSEE): SQL Server 2005 Embedded Edition is a specially configured named instance of the SQL Server Express database engine which can be accessed only by certain Windows Services. SQL Server Workgroup Edition: SQL Server Workgroup Edition includes the core database functionality but does not include the additional services. SQL Server Standard Edition: SQL Server Standard edition includes the core database engine, along with the stand-alone services. It differs from Enterprise edition in that it supports fewer active instances (number of nodes in a cluster) and does not include some high-availability functions such as hot-add memory (allowing memory to be added while the server is still running), and parallel indexes. SQL Server Enterprise Edition: SQL Server Enterprise Edition is the full-featured version of SQL Server, including both the core database engine and add-on services, while including a range of tools for creating and managing a SQL Server cluster. SQL Server Developer Edition: SQL Server Developer Edition includes the same features as SQL Server Enterprise Edition, but is limited by the license to be only used as a development and test system, and not as production server. This version is available to download by students free of charge as a part of Microsoft
Microsoft

Microsoft Corporation is a multinational corporation computer technology corporation that develops, manufactures, licenses, and supports a wide range of computer software products for computing devices....
's DreamSpark
DreamSpark

DreamSpark is a program set up by Microsoft to provide students with software design and development tools at no charge. The program was originally directed at college students, but now it has been expanded to include high school students....
 program. SQL Server Web Edition: SQL Server Web Edition is a low-TCO
Total cost of ownership

Total cost of ownership is a financial estimate designed to help consumers and enterprise managers assess direct and indirect costs. It is used in many industries and this article...
 option for Web hosting.

Architecture


Protocol layer


Protocol layer implements the external interface to SQL Server. All operations that can be invoked on SQL Server are communicated to it via a Microsoft-defined format, called Tabular Data Stream
Tabular Data Stream

Tabular Data Stream is an application layer Protocol , used to transfer data between a database server and a client. Initially designed and developed by Sybase Inc....
 (TDS). TDS is an application layer protocol, used to transfer data between a database server and a client. Initially designed and developed by Sybase Inc. for their Sybase SQL Server relational database engine in 1984, and later by Microsoft in Microsoft SQL Server, TDS packets can be encased in other physical transport dependent protocols, including TCP/IP, Named pipe
Named pipe

In computing, a named pipe is an extension to the traditional pipeline concept on Unix and Unix-like systems, and is one of the methods of inter-process communication....
s, and Shared memory
Shared memory

In computing, shared memory is a memory that may be simultaneously accessed by multiple programs with an intent to provide communication among them or avoid redundant copies....
. Consequently, access to SQL Server is available over these protocols. In addition, the SQL Server API is also exposed over bando web service
Web service

A Web service is defined by the W3C as "a software system designed to support interoperability Machine to Machine interaction over a computer network"....
s.

Data storage


The main unit of data storage
Data storage

Data storage can refer to:* Computer data storage; memory, components, devices and media that retain digital data used for computing for some interval of time....
 is a database
Database

A database is a structured collection of records or data that is stored in a computer system. The structure is achieved by organizing the data according to a database model....
, which is a collection of tables with typed
Type system

In computer science, a type system may be defined as "a tractable syntactic method for proving the absence of certain program behaviors by classifying phrases according to the kinds of values they compute."....
 columns. SQL Server supports different data types, including primary types such as Integer, Float, Decimal, Char (including character strings), Varchar (variable length character strings), binary (for unstructured blobs
Binary large object

A binary large object, also known as a blob, is a collection of binary data stored as a single entity in a database management system. Blobs are typically s, sound or other multimedia objects, though sometimes binary executable code is stored as a binary blob....
 of data), Text (for textual data) among others. It also allows user-defined composite types (UDTs) to be defined and used. SQL Server also makes server statistics available as virtual tables and views (called Dynamic Management Views or DMVs). A database can also contain other objects including views
View (database)

In database Database theory, a view consists of a stored database query accessible as a virtual Table composed of the result set of a Query language....
, stored procedure
Stored procedure

A stored procedure is a subroutine available to applications accessing a relational database database management system. Stored procedures are actually stored in the database data dictionary....
s, indexes
Index (database)

A database index is a data structure that improves the speed of operations on a Table . Indexes can be created using one or more column , providing the basis for both rapid random look ups and efficient access of ordered records....
 and constraints, in addition to tables, along with a transaction log. A SQL Server database can contain a maximum of 231 objects, and can span multiple OS-level files with a maximum file size of 220 TB
Terabyte

A terabyte is a measurement term for computer storage. The value of a terabyte based upon a decimal radix is defined as one 1000000000000 bytes, or 1000 gigabytes....
. The data in the database are stored in primary data files with an extension .mdf. Secondary data files, identified with an .ndf extension, are used to store optional metadata. Log files are identified with the .ldf extension.

Storage space allocated to a database is divided into sequentially numbered pages, each 8 KB in size. A page is the basic unit of I/O for SQL Server operations. A page is marked with a 96-byte header which stores metadata about the page including the page number, page type, free space on the page and the ID of the object that owns it. Page type defines the data contained in the page - data stored in the database, index, allocation map which holds information about how pages are allocated to tables and indexes, change map which holds information about the changes made to other pages since last backup or logging, or contain large data types such as image or text. While page is the basic unit of an I/O operation, space is actually managed in terms of an extent which consists of 8 pages. A database object can either span all 8 pages in an extent ("uniform extent") or share an extent with up to 7 more objects ("mixed extent"). A row in a database table cannot span more than one page, so is limited to 8 KB in size. However, if the data exceeds 8 KB and the row contains Varchar or Varbinary data, the data in those columns are moved to a new page (or possibly a sequence of pages, called an Allocation unit) and replaced with a pointer to the data.

For physical storage of a table, its rows are divided into a series of partitions (numbered 1 to n). The partition size is user defined; by default all rows are in a single partition. A table is split into multiple partitions in order to spread a database over a cluster
Cluster Computing

Cluster Computing: the Journal of Networks, Software Tools and Applications is a journal for parallel processing, distributed computing systems, and computer communication networks....
. Rows in each partition are stored in either B-tree
B-tree

In computer science, a B-tree is a tree data structure that keeps data sorted and allows searches, insertions, and deletions in logarithmic Amortized analysis....
 or heap
Heap (data structure)

In computer science, a heap is a specialized tree data structure-based data structure that satisfies the heap property: if B is a child node of A, then key ≥ key....
 structure. If the table has an associated index
Index (database)

A database index is a data structure that improves the speed of operations on a Table . Indexes can be created using one or more column , providing the basis for both rapid random look ups and efficient access of ordered records....
 to allow fast retrieval of rows, the rows are stored in-order according to their index values, with a B-tree providing the index. The data is in the leaf node of the leaves, and other nodes storing the index values for the leaf data reachable from the respective nodes. If the index is non-clustered, the rows are not sorted according to the index keys. An indexed view
View (database)

In database Database theory, a view consists of a stored database query accessible as a virtual Table composed of the result set of a Query language....
 has the same storage structure as an indexed table. A table without an index is stored in an unordered heap structure. Both heaps and B-trees can span multiple allocation units.

Buffer management


SQL Server buffer
Buffer

Buffer may refer to:* Buffer state, a country lying between two potentially hostile greater powers, thought to prevent conflict between them* Buffer zone, any area that keeps two or more other areas distant from one another, may be demilitarized...
s pages in RAM
Ram

Ram, ram, or RAM as a non-acronymic wordAs a non-acronymic word Ram, ram, or RAM may refer to:...
 to minimize disc I/O. Any 8 KB page can be buffered in-memory, and the set of all pages currently buffered is called the buffer cache. The amount of memory available to SQL Server decides how many pages will be cached in memory. The buffer cache is managed by the Buffer Manager. Either reading from or writing to any page copies it to the buffer cache. Subsequent reads or writes are redirected to the in-memory copy, rather than the on-disc version. The page is updated on the disc by the Buffer Manager only if the in-memory cache has not been referenced for some time. While writing pages back to disc, asynchronous I/O is used whereby the I/O operation is done in a background thread so that other operations do not have to wait for the I/O operation to complete. Each page is written along with its checksum
Checksum

A checksum or hash sum is a fixed-size data computed from an arbitrary block of digital data for the purpose of error detection that may have been introduced during its telecommunications or computer storage....
 when it is written. When reading the page back, its checksum is computed again and matched with the stored version to ensure the page has not been damaged or tampered with in the meantime.

Logging and Transaction


SQL Server ensures that any change to the data is ACID
Acid

An acid is traditionally considered any chemical compound that, when dissolved in water, gives a solution with a hydrogen ion Activity greater than in pure water, i.e....
-compliant, i.e., it uses transactions to ensure that any operation either totally completes or is undone if fails, but never leaves the database in an intermediate state. Using transactions, a sequence of actions can be grouped together, with the guarantee that either all actions will succeed or none will. SQL Server implements transactions using a write-ahead log. Any changes made to any page will update the in-memory cache of the page, simultaneously all the operations performed will be written to a log, along with the transaction ID which the operation was a part of. Each log entry is identified by an increasing Log Sequence Number (LSN) which ensure that no event overwrites another. SQL Server ensures that the log will be written onto the disc before the actual page is written back. This enables SQL Server to ensure integrity of the data, even if the system fails. If both the log and the page were written before the failure, the entire data is on persistent storage and integrity is ensured. If only the log was written (the page was either not written or not written completely), then the actions can be read from the log and repeated to restore integrity. If the log wasn't written, then also the integrity is maintained, even though the database is in a state when the transaction as if never occurred. If it was only partially written, then the actions associated with the unfinished transaction are discarded. Since the log was only partially written, the page is guaranteed to have not been written, again ensuring data integrity. Removing the unfinished log entries effectively undoes the transaction. SQL Server ensures consistency between the log and the data every time an instance is restarted.

Concurrency and locking


SQL Server allows multiple clients to use the same database concurrently. As such, it needs to control concurrent access to shared data, to ensure data integrity - when multiple clients update the same data, or clients attempt to read data that is in the process of being changed by another client. SQL Server provides two modes of concurrency control: pessimistic concurrency
Concurrency control

In computer science, especially in the fields of computer programming , operating systems , multiprocessors, and databases, concurrency control ensures that correct results for concurrent operations are generated, while getting those results as quickly as possible....
 and optimistic concurrency
Optimistic concurrency control

In computer science, in the field of databases, optimistic concurrency control, is a concurrency control method used in relational databases without using Lock ing....
. When pessimistic concurrency control is being used, SQL Server controls concurrent access by using locks. Locks can be either shared or exclusive. Exclusive lock grants the user exclusive access to the data - no other user can access the data as long as the lock is held. Shared locks are used when some data is being read - multiple users can read from data locked with a shared lock, but not acquire an exclusive lock. The latter would have to wait for all shared locks to be released. Locks can be applied on different levels of granularity - on entire tables, pages, or even on a per-row basis on tables. For indexes, it can either be on the entire index or on index leaves. The level of granularity to be used is defined on a per-database basis by the database administrator. While a fine grained locking system allows more users to use the table or index simultaneously, it requires more resources. So it does not automatically turn into higher performing solution. SQL Server also includes two more lightweight mutual exclusion
Mutual exclusion

Mutual exclusion algorithms are used in concurrent programming to avoid the simultaneous use of a common resource, such as a global variable, by pieces of computer code called critical sections....
 solutions - latches and spinlocks - which are less robust than locks but are less resource intensive. SQL Server uses them for DMVs and other resources that are usually not busy. SQL Server also monitors all worker threads that acquire locks to ensure that they do not end up in deadlock
Deadlock

A deadlock is a situation wherein two or more competing actions are waiting for the other to finish, and thus neither ever does. It is often seen in a paradox like 'the chicken or the egg'....
s - in case they do, SQL Server takes remedial measures, which in many cases is to kill one of the threads entangled in a deadlock and rollback the transaction it started. To implement locking, SQL Server contains the Lock Manager. The Lock Manager maintains an in-memory table that manages the database objects and locks, if any, on them along with other metadata about the lock. Access to any shared object is mediated by the lock manager, which either grants access to the resource or blocks it.

SQL Server also provides the optimistic concurrency control mechanism, which is similar to the multiversion concurrency control
Multiversion concurrency control

Multiversion concurrency control , in the database field of computer science, is a concurrency control method commonly used by database management systems to provide concurrent access to the database....
 used in other databases. The mechanism allows a new version of a row to be created whenever the row is updated, as opposed to overwriting the row, i.e., a row is additionally identified by the ID of the transaction that created the version of the row. Both the old as well as the new versions of the row are stored and maintained, though the old versions are moved out of the database into a system database identified as Tempdb. When a row is in the process of being updated, any other requests are not blocked (unlike locking) but are executed on the older version of the row. If the other request is an update statement, it will result in two different versions of the rows - both of them will be stored by the database, identified by their respective transaction IDs.

Data retrieval


The main mode of retrieving data from an SQL Server database is querying for it. The query is expressed using a variant of SQL
SQL

SQL is a database computer language designed for the retrieval and management of data in relational database management systems , database schema creation and modification, and database object access control management....
 called T-SQL, a dialect Microsoft SQL Server shares with Sybase SQL Server
Adaptive Server Enterprise

Adaptive Server Enterprise is Sybase flagship enterprise-class relational database management system product. ASE is predominantly used on the Unix platform but is also available for Windows....
 due to its legacy. The query declaratively specifies what is to be retrieved. It is processed by the query processor, which figures out the sequence of steps that will be necessary to retrieve the requested data. The sequence of actions necessary to execute a query is called a query plan. There might be multiple ways to process the same query. For example, for a query that contains a join
Join (SQL)

An SQL JOIN clause combines records from two table s in a database. It creates a set that can be saved as a table or used as is. A JOIN is a means for combining fields from two tables by using values common to each....
 statement and a select
Select (SQL)

The SQL SELECT statement returns a result set of records from one or more tables.It retrieves zero or more rows from one or more base tables, temporary tables, or views in a database....
  statement, executing join on both the tables and then executing select on the results would give the same result as selecting from each table and then executing the join, but result in different execution plans. In such case, SQL Server chooses the plan that is supposed to yield the results in the shortest possible time. This is called query optimization
Query optimization

Query optimization is a function of many relational database management systems in which multiple query plans for satisfying a query are examined and a good query plan is identified....
 and is performed by the query processor itself.

SQL Server includes a cost-based query optimizer which tries to optimize on the cost, in terms of the resources it will take to execute the query. Given a query, the query optimizer looks at the database schema
Database schema

The schema of a database system is its structure described in a formal language supported by the database management system . In a relational database, the schema defines the Table_, the Field in each table, and the relationships between fields and tables....
, the database statistics and the system load at that time. It then decides which sequence to access the tables referred in the query, which sequence to execute the operations and what access method to be used to access the tables. For example, if the table has an associated index, whether the index should be used or not - if the index is on a column which is not unique for most of the columns (low "selectivity"), it might not be worthwhile to use the index to access the data. Finally, it decides whether to execute the query concurrently
Concurrent computing

Concurrent computing is a form of computing in which computer program are designed as collections of interacting computational processes that may be executed in Parallel computing....
 or not. While a concurrent execution is more costly in terms of total processor time, because the execution is actually split to different processors might mean it will execute faster. Once a query plan is generated for a query, it is temporarily cached. For further invocations of the same query, the cached plan is used. Unused plans are discarded after some time.

SQL Server also allows stored procedure
Stored procedure

A stored procedure is a subroutine available to applications accessing a relational database database management system. Stored procedures are actually stored in the database data dictionary....
s to be defined. Stored procedures are parameterized T-SQL queries, that are stored in the server itself (and not issued by the client application as is the case with general queries). Stored procedures can accept values sent by the client as input parameters, and send back results as output parameters. They can also call other stored procedures, and can be selectively provided access to
Access control

Access control is the ability to permit or deny the use of a particular resource by a particular entity. Access control mechanisms can be used in managing physical resources , logical resources , or digital resources ....
. Unlike other queries, stored procedures have an associated name, which is used at runtime to resolve into the actual queries. Also because the code need not be sent from the client every time (as it can be accessed by name), it reduces network traffic and somewhat improves performance. Execution plans for stored procedures are also cached as necessary.

SQL CLR


Microsoft SQL Server 2005 includes a component named SQL CLR via which it integrates with .NET Framework
.NET Framework

The Microsoft .NET Framework is a software framework that is available with several Microsoft Windows operating systems. It includes a large Library of coded solutions to prevent common programming problems and a virtual machine that manages the execution of programs written specifically for the Software framework....
. Unlike most other applications that use .NET Framework
.NET Framework

The Microsoft .NET Framework is a software framework that is available with several Microsoft Windows operating systems. It includes a large Library of coded solutions to prevent common programming problems and a virtual machine that manages the execution of programs written specifically for the Software framework....
, SQL Server itself hosts the .NET Framework
.NET Framework

The Microsoft .NET Framework is a software framework that is available with several Microsoft Windows operating systems. It includes a large Library of coded solutions to prevent common programming problems and a virtual machine that manages the execution of programs written specifically for the Software framework....
  runtime
Common Language Runtime

The Common Language Runtime is a core component of Microsoft .NET Framework initiative. It is Microsoft's implementation of the Common Language Infrastructure standard, which defines an execution environment for program code....
, i.e., memory, threading and resource management requirements of .NET Framework are satisfied by SQLOS itself, rather than the underlying Windows operating system. SQLOS provides deadlock detection and resolution services for .NET code as well. With SQL CLR, stored procedure
Stored procedure

A stored procedure is a subroutine available to applications accessing a relational database database management system. Stored procedures are actually stored in the database data dictionary....
s and triggers can be written in any managed
Managed code

Managed code is Source code that executes under the management of a virtual machine, unlike unmanaged code, which is executed directly by the computer's Central processing unit....
  .NET language, including C# and VB.NET. Managed code
Managed code

Managed code is Source code that executes under the management of a virtual machine, unlike unmanaged code, which is executed directly by the computer's Central processing unit....
 can also be used to define UDT's (user defined types), which can persist in the database. Managed code
Managed code

Managed code is Source code that executes under the management of a virtual machine, unlike unmanaged code, which is executed directly by the computer's Central processing unit....
 is compiled to .NET assemblies and after being verified for type safety
Type safety

In computer science, type safety is a property of some programming languages that is defined differently by different communities, but most definitions involve the use of a type system to prevent certain erroneous or undesirable program behavior ....
, registered at the database. After that, they can be invoked like any other procedure. However, only a subset of the Base Class Library
Base Class Library

The Base Class Library is a standard library available to all languages using the .NET Framework. .NET includes the BCL in order to encapsulate a large number of common functions, such as file reading and writing, graphic rendering, database interaction, and XML document manipulation, which makes the programmer's job easier....
 is available, when running code under SQL CLR. Most APIs relating to user interface
User interface

The user interface is the aggregate of means by which people—the User s—Interaction with the system—a particular machine, device, computer program or other complex tools....
 functionality are not available.

When writing code for SQL CLR, data stored in SQL Server databases can be accessed using the ADO.NET
ADO.NET

ADO.NET is a set of computer software components that can be used by programmers to access data and data services. It is a part of the base class library that is included with the .NET Framework....
 APIs like any other managed application
Managed code

Managed code is Source code that executes under the management of a virtual machine, unlike unmanaged code, which is executed directly by the computer's Central processing unit....
 that accesses SQL Server data. However, doing that creates a new database session, different from the one in which the code is executing. To avoid this, SQL Server provides some enhancements to the ADO.NET
ADO.NET

ADO.NET is a set of computer software components that can be used by programmers to access data and data services. It is a part of the base class library that is included with the .NET Framework....
 provider that allows the connection to be redirected to the same session which already hosts the running code. Such connections are called context connections and are set by setting context connection parameter to true in the connection string. SQL Server also provides several other enhancements to the ADO.NET
ADO.NET

ADO.NET is a set of computer software components that can be used by programmers to access data and data services. It is a part of the base class library that is included with the .NET Framework....
 API, including classes to work with tabular data or a single row of data as well as classes to work with internal metadata about the data stored in the database. It also provides access to the XML features in SQL Server, including XQuery
XQuery

XQuery is a query language that is designed to query collections of XML data. It is semantic similarity to SQL.XQuery 1.0 was developed by the XML Query working group of the W3C....
 support. These enhancements are also available in T-SQL Procedures in consequence of the introduction of the new XML Datatype (query,value,nodes functions).

Services


SQL Server also includes an assortment of add-on services. While these are not essential for the operation of the database system, these provide value added services on top of the core database management system. These services either run as a part of some SQL Server component or out-of-process as Windows Service
Windows Service

On Microsoft Windows operating systems, a Windows service is a long-running executable that performs specific functions and which is designed not to require user intervention....
 and presents their own API to control and interact with them.

Service Broker


The Service Broker, which runs as a part of the database engine, provides a reliable messaging and message queuing platform for SQL Server applications. Used inside an instance, it is used to provide an asynchronous programming environment. For cross instance applications, Service Broker communicates over TCP/IP and allows the different components to be synchronized together, via exchange of messages.

Replication Services


SQL Server Replication Services are used by SQL Server to replicate and synchronize database objects, either in entirety or a subset of the objects present, across replication agents, which might be other database servers across the network, or database caches on the client side. Replication follows a publisher/subscriber model, i.e., the changes are sent out by one database server ("publisher") and are received by others ("subscribers"). SQL Server supports three different types of replication:

Transaction replication: Each transaction made to the publisher database (master database) is synced out to subscribers, who update their databases with the transaction. Transactional replication synchronizes databases in near real time.

Merge replication: Changes made at both the publisher and subscriber databases are tracked, and periodically the changes are synchronized bi-directionally between the publisher and the subscribers. If the same data has been modified differently in both the publisher and the subscriber databases, synchronization will result in a conflict which has to be resolved - either manually or by using pre-defined policies.

Snapshot replication: Snapshot replication published a copy of the entire database (the then-snapshot of the data) and replicates out to the subscribers. Further changes to the snapshot are not tracked.

Analysis Services


SQL Server Analysis Services adds OLAP
OLAP

Online analytical processing, or OLAP , is an approach to quickly answer multi-dimensional analytical queries. OLAP is part of the broader category of business intelligence, which also encompasses relational reporting and data mining....
 and data mining
Data mining

Data mining is the process of extracting hidden patterns from data. As more data is gathered, with the amount of data doubling every three years, data mining is becoming an increasingly important tool to transform this data into information....
 capabilities for SQL Server databases. The OLAP engine supports MOLAP
MOLAP

MOLAP stands for Multidimensional Online Analytical Processing.MOLAP is an alternative to the ROLAP technology....
, ROLAP
ROLAP

ROLAP stands for Relational Online Analytical Processing.ROLAP is an alternative to the MOLAP technology. While both ROLAP and MOLAP analytic tools are designed to allow analysis of data through the use of a multidimensional data model, ROLAP differs significantly in that it does not require the pre-computatio...
 and HOLAP
HOLAP

HOLAP is a combination of ROLAP and MOLAP which are other possible implementation of OLAP. HOLAP allows to store part of the data in the MOLAP store and another part of the data in ROLAP store....
 storage modes for data. Analysis Services supports the XML for Analysis standard as the underlying communication protocol. The cube data can be accessed using MDX
Multidimensional Expressions

Multidimensional Expressions is a query language for OLAP databases, much like SQL is a query language for relational databases. It is also a calculation language, with syntax similar to spreadsheet formulas....
 queries. Data mining specific functionality is exposed via the DMX
Data Mining Extensions

Data Mining Extensions is a query language for Data Mining Models, much like SQL is a query language for relational databases and Multidimensional Expressions is a query language for OLAP databases....
 query language. Analysis Services includes various algorithms - Decision tree
Decision tree

A decision tree is a decision support tool that uses a tree-like Diagram or Causal model of decisions and their possible consequences, including chance event outcomes, resource costs, and utility....
s, clustering algorithm, Naive Bayes algorithm, time series analysis, sequence clustering algorithm, linear and logistic regression
Regression

Regression could refer to:* Regression , a defensive reaction to some unaccepted impulses* Past life regression, a process claiming to retrieve memories of previous lives...
 analysis, and neural network
Neural network

Traditionally, the term neural network had been used to refer to a network or circuit of neuron. The modern usage of the term often refers to artificial neural networks, which are composed of artificial neurons or nodes....
s - for use in data mining.

Reporting Services


SQL Server Reporting Services is a report generation environment for data gathered from SQL Server databases. It is administered via a web interface
World Wide Web

The World Wide Web is a very large set of interlinked hypertext documents accessed via the Internet. With a Web browser, one can view Web pages that may contain writing, s, videos, and other multimedia and navigate between them using hyperlinks....
. Reporting services features a web services interface to support the development of custom reporting applications. Reports are created as RDL
Report Definition Language

Report Definition Language is a standard proposed by Microsoft for defining reports.RDL is an XML application primarily used with Microsoft SQL Server Reporting Services....
 files.

Reports can be designed using recent versions of Microsoft Visual Studio
Microsoft Visual Studio

Microsoft Visual Studio is an integrated development environment from Microsoft. It can be used to develop Console application and graphical user interface applications along with Windows Forms applications, web sites, web applications, and web services in both native code together with managed code for all platforms supported by Microsoft W...
 (including Visual Studio.NET 2003 onwards) with Business Intelligence Development Studio
Business Intelligence Development Studio

Business Intelligence Development Studio is the Integrated Development Environment from Microsoft used for developing data analysis and Business Intelligence solutions utilizing the Microsoft SQL Server SQL Server Analysis Services, SQL Server Reporting Services and SQL Server Integration Services....
, installed or with the included Report Builder. Once created, RDL files can be rendered in a variety of formats including Excel, PDF, CSV
Comma-separated values

A Comma separated values file is a computer data file used for implementing the tried and true organizational tool, the Comma Separated List....
, XML, TIFF (and other image formats), and HTML Web Archive.

Notification Services


Originally introduced as a post-release add-on for SQL Server 2000, Notification Services was bundled as part of the Microsoft SQL Server platform for the first and only time with SQL Server 2005. with Sql Server 2005, SQL Server Notification Services is a mechanism for generating data-driven notifications, which are sent to Notification Services subscribers. A subscriber registers for a specific event or transaction (which is registered on the database server as a trigger); when the event occurs, Notification Services can use one of three methods to send a message to the subscriber informing about the occurrence of the event. These methods include SMTP, SOAP, or by writing to a file in the filesystem.

Integration Services


SQL Server Integration Services is used to integrate data from different data sources. It is used for the ETL
Extract, transform, load

Extract, transform, and load in database usage and especially in data warehouse involves:* data extraction from outside sources* data transformation it to fit operational needs ...
 capabilities for SQL Server for data warehousing
Data warehouse

Data warehouse is a repository of an organization's electronically stored data. Data warehouses are designed to facilitate reporting and analysis....
 needs. Integration Services includes GUI tools to build data extraction workflow
Workflow

A workflow is a depiction of a sequence of operations, declared as work of a person, work of a simple or complex mechanism, work of a group of persons, work of an organization of staff, or machines....
s integration various functionality such as extracting data from various sources, querying data, transforming data including aggregating, duplication and merging data, and then loading the transformed data onto other sources, or sending e-mails detailing the status of the operation.

Full Text Search Service


SQL Server Full Text Search service is a specialized indexing and querying service for unstructured text stored in SQL Server databases. The full text search index can be created on any column with character based text data. It allows for words to be searched for in the text columns. While it can be performed with the SQL LIKE operator, using SQL Server Full Text Search service can be more efficient. Full Text Search (FTS) allows for inexact matching of the source string, indicated by a Rank value which can range from 0 to 1000 - a higher rank means a more accurate match. It also allows linguistic matching ("inflectional search"), i.e., linguistic variants of a word (such as a verb in a different tense) will also be a match for a given word (but with a lower rank than an exact match). Proximity searches are also supported, i.e., if the words searched for do not occur in the sequence they are specified in the query but are near each other, they are also considered a match. T-SQL exposes special operators that can be used to access the FTS capabilities.

The Full Text Search engine is divided into two processes - the Filter Daemon process (msftefd.exe) and the Search process (msftesql.exe). These processes interact with the SQL Server. The Search process includes the indexer (that creates the full text indexes) and the full text query processor. The indexer scans through text columns in the database. It can also index through binary columns, and use iFilters to extract meaningful text from the binary blob (for example, when a Microsoft Word
Microsoft Word

Microsoft Word is Microsoft's word processor computer software. It was first released in 1983 under the name Multi-Tool Word for Xenix systems....
 document is stored as an unstructured binary file in a database). The iFilters are hosted by the Filter Daemon process. Once the text is extracted, the Filter Daemon process breaks it up into a sequence of words and hands it over to the indexer. The indexer filters out noise words, i.e., words like A, And etc, which occur frequently and are not useful for search. With the remaining words, an inverted index
Inverted index

In information technology, an inverted index is an Index storing a mapping from content, such as words or numbers, to its locations in a Table , or in a document or a set of documents, in this case allowing full text search....
 is created, associating each word with the columns they were found in. SQL Server itself includes a Gatherer component that monitors changes to tables and invokes the indexer in case of updates.

When a full text query is received by the SQL Server query processor, it is handed over to the FTS query processor in the Search process. The FTS query processor breaks up the query into the constituent words, filters out the noise words, and uses an inbuilt thesaurus
Thesaurus

A thesaurus is a work that contains synonyms and sometimes antonyms, in contrast to a dictionary, which contains definitions and pronunciations....
 to find out the linguistic variants for each word. The words are then queried against the inverted index and a rank of their accurateness is computed. The results are returned to the client via the SQL Server process.

Tools


SQLCMD


SQLCMD is a command line application that comes with Microsoft SQL Server, and exposes the management features of SQL Server. It allows SQL queries to be written and executed from the command prompt. It can also act as a scripting language
Scripting language

A scripting language, script language or extension language, is a programming language that allows some control of a single or many Application software....
 to create and run a set of SQL statements as a script. Such scripts are stored as a .sql file, and are used either for management of databases or to create the database schema during the deployment of a database.

Visual Studio


Microsoft Visual Studio
Microsoft Visual Studio

Microsoft Visual Studio is an integrated development environment from Microsoft. It can be used to develop Console application and graphical user interface applications along with Windows Forms applications, web sites, web applications, and web services in both native code together with managed code for all platforms supported by Microsoft W...
 includes native support for data programming with Microsoft SQL Server. It can be used to write and debug code to be executed by SQL CLR. It also includes a data designer that can be used to graphically create, view or edit database schemas. Queries can be created either visually or using code. SSMS 2008 onwards, provides intellisense
IntelliSense

IntelliSense is Microsoft's implementation of autocompletion, best known for its use in the Microsoft Visual Studio integrated development environment....
 for SQL queries as well.

SQL Server Management Studio


SQL Server Management Studio
SQL Server Management Studio

SQL Server Management Studio is a tool included with Microsoft Microsoft SQL Server and later versions for configuring, managing, and administering all components within Microsoft SQL Server....
 is a GUI
Gui

Gui or guee is a generic term to refer to grillinged dishes in Korean cuisine. These most commonly have meat or fish as their primary ingredient, but may in some cases also comprise grilled vegetables or other vegetarian ingredients....
 tool included with SQL Server 2005 and later for configuring, managing, and administering all components within Microsoft SQL Server. The tool includes both script editors and graphical tools that work with objects and features of the server. SQL Server Management Studio replaces Enterprise Manager
Enterprise Manager

Enterprise Manager is the primary administrative tool for Microsoft SQL Server 2000 and provides a Microsoft Management Console?based user interface that allows users to:...
 as the primary management interface for Microsoft SQL Server since SQL Server 2005. A version of SQL Server Management Studio is also available for SQL Server Express Edition, for which it is known as SQL Server Management Studio Express (SSMSE).

A central feature of SQL Server Management Studio is the Object Explorer, which allows the user to browse, select, and act upon any of the objects within the server. It can be used to visually observe and analyze query plans and optimize the database performance, among others. SQL Server Management Studio can also be used to create a new database, alter any existing database schema by adding or modifying tables and indexes, or analyze performance. It includes the query windows which provide a GUI based interface to write and execute queries.

Business Intelligence Development Studio


Business Intelligence Development Studio
Business Intelligence Development Studio

Business Intelligence Development Studio is the Integrated Development Environment from Microsoft used for developing data analysis and Business Intelligence solutions utilizing the Microsoft SQL Server SQL Server Analysis Services, SQL Server Reporting Services and SQL Server Integration Services....
 (BIDS) is the IDE
Integrated development environment

An integrated development environment also known as integrated design environment or integrated debugging environment is a software application that provides comprehensive facilities to computer programmers for software development....
 from Microsoft
Microsoft

Microsoft Corporation is a multinational corporation computer technology corporation that develops, manufactures, licenses, and supports a wide range of computer software products for computing devices....
 used for developing data analysis and Business Intelligence
Business intelligence

Business intelligence refers to skills, technologies, applications and practices used to help a business acquire a better understanding of its commercial context....
 solutions utilizing the Microsoft SQL Server
Microsoft SQL Server

Microsoft SQL Server is a relational database management system produced by Microsoft. Its primary query languages are SQL and Transact-SQL....
 Analysis Services, Reporting Services
SQL Server Reporting Services

SQL Server Reporting Services is a server-based report generation software system from Microsoft. It can be used to prepare and deliver a variety of interactive and printed reports....
 and Integration Services
SQL Server Integration Services

SQL Server Integration Services is a component of Microsoft SQL Server 2005 and 2008. It replaces Data Transformation Services, which has been a feature of SQL Server since Version 7.0....
. It is based on the Microsoft Visual Studio
Microsoft Visual Studio

Microsoft Visual Studio is an integrated development environment from Microsoft. It can be used to develop Console application and graphical user interface applications along with Windows Forms applications, web sites, web applications, and web services in both native code together with managed code for all platforms supported by Microsoft W...
 development environment but customizes with the SQL Server services-specific extensions and project types, including tools, controls and projects for reports (using Reporting Services), Cubes
OLAP cube

An OLAP cube is a data structure that allows fast analysis of data. The arrangement of data into cubes overcomes a limitation of relational databases....
 and data mining
Data mining

Data mining is the process of extracting hidden patterns from data. As more data is gathered, with the amount of data doubling every three years, data mining is becoming an increasingly important tool to transform this data into information....
 structures (using Analysis Services).

Programmability


T-SQL


T-SQL (Transact-SQL) is the primary means of programming and managing SQL Server. It exposes keywords for the operations that can be performed on SQL Server, including creating and altering database schemas, entering and editing data in the database as well as monitoring and managing the server itself. Client applications, both which consume data or manage the server, leverage SQL Server functionality by sending T-SQL queries and statements which are then processed by the server and results (or errors) returned to the client application. SQL Server allows it to be managed using T-SQL. For this it exposes read only tables from which server statistics can be read. Management functionality is exposed via system-defined stored procedures which can be invoked from T-SQL queries to perform the management operation.

SQL Native Client


SQL Native Client is the native client side data access library for Microsoft SQL Server, version 2005 onwards. It natively implements support for the SQL Server features including the Tabular Data Stream
Tabular Data Stream

Tabular Data Stream is an application layer Protocol , used to transfer data between a database server and a client. Initially designed and developed by Sybase Inc....
 implementation, support for mirrored SQL Server databases, full support for all data types supported by SQL Server, asynchronous operations, query notifications, encryption
Encryption

In cryptography, encryption is the process of transforming information using an algorithm to make it unreadable to anyone except those possessing special knowledge, usually referred to as a key ....
 support, as well as receiving multiple result sets in a single database session. SQL Native Client is used under the hood by SQL Server plug-ins for other data access technologies, including ADO
ActiveX Data Objects

Microsoft's ActiveX Data Objects is a set of Component Object Model object s for accessing data sources. It provides a Abstraction layer between programming languages and OLE DB ....
 or OLE DB
OLE DB

OLE DB is an Application programming interface designed by Microsoft for accessing different types of data stored in a uniform manner. It is a set of interfaces implemented using the Component Object Model ; it is otherwise unrelated to Object Linking and Embedding....
. It is also used by the native SQL Server ADO.NET
ADO.NET

ADO.NET is a set of computer software components that can be used by programmers to access data and data services. It is a part of the base class library that is included with the .NET Framework....
 provider, SqlClient. The SQL Native Client can also be directly used, bypassing the generic data access layers.

See also


  • SQL Server Data Services
    SQL Server Data Services

    SQL Services is a cloud computing software as a service from Microsoft offering data storage capabilities similar to Amazon_S3 as a part of the Azure Services Platform....


External links