MS SQL Server

MS SQL Server: Overview

MS SQL Server is a relational database management system (RDBMS) developed by Microsoft. This product is built for the basic function of storing retrieving data as required by other applications. It can be run either on the same computer or on another across a network. This tutorial explains some basic and advanced concepts of SQL Server such as how to create and restore data, create login and backup, assign permissions, etc. Each topic is explained using examples for easy understanding.


Useful Links on MS SQL Server


- MS SQL Tips
- MS SQL Tutorial
- Wikipedia


Why MS SQL Server


1. Installation Is Streamlined: It can be installed via a setup wizard and the prerequisite updates are detected and downloaded by the installer automatically. The complexity of installing the software is minimized significantly because of automatic installation of updates. Other components such as analytical and database services can be installed separately afterward. Automatic updation also reduces maintenance costs quite significantly.

2. Security Features Are Better: SQL Server 2008 uses Policy-Based Management to detect security policies that are non-compliant. This feature allows only authorized personnel access to the database. Security audits and events can be written automatically to log files.

3. Enhanced Performance: The MS SQL server has built-in transparent data compression feature along with encryption. Users don’t need to modify programs in order to encrypt the data. The MS SQL server has access control coupled with efficient permission management tools. Further, it offers an enhanced performance when it comes to data collection.

4. Lower Cost Of Ownership: SQL server includes effective data management and data mining tools along with disk partitioning. Your server’s optimum maintenance can be ensured by following effective data management practices. These practices also help you ensure the availability and recoverability of data.

5. Data Integrity: Data integrity in SQL Server is enhanced by the use of ‘triggers’ which can be applied whenever a record is added, updated or deleted. This occurs at the table level and cannot thus be forgotten about, ignored or bypassed by the client machine. For example audit processes cannot be avoided (accidentally or deliberately) with this scenario.

6. Network Traffic: As can be seen from the previous section, network traffic is greatly reduced in a client/server scenario, often by many orders of magnitude. This both improves network reliability (by reducing collisions, etc.) and also improves the performance of the network for other software (as there is less traffic on the network). Where there is a slow connection, such as over a telephone dial-up, Access is usually so slow as to be all but unusable (obviously this does depend upon the amount of data) whereas a SQL Server application, if designed for this environment, can still be perfectly useable.

7. Low Bandwidth: This occurs when you are accessing your database over a connection that only supports low data speeds, which, for all practical situations, means anything other than a LAN. In all low bandwidth situations Access/JET usually performs so slowly as to be unusable whilst a correctly designed SQL Server system can be similar in speed to running it over a LAN.

8. Scalability: A file server system such as Access is designed for small workgroups and is scalable to perhaps 10 concurrent clients. Above this level performance starts to degrade rapidly as more users are added. With the SQL Server client/server architecture many hundreds, or even thousands (with the appropriate infrastructure), of concurrent users can be supported without significant performance degradation.

9. Reliability: With Access each client reads and writes directly to the raw data tables. If a client machine crashes while writing data this will usually cause the back-end database to also crash and become corrupt. The same thing will occur if the network fails, has a glitch or temporarily becomes overloaded. This problem becomes more apparent as the amount of data or the number of users increases. With SQL Server the clients do not talk directly with the tables but with an intelligent data manager on the server. This in turn reads and writes data from and to the tables. If a client machine crashes, or the network hiccups, this will not affect the underlying tables; instead the data manager realises that the transaction has not been completed and does not commit the partially transmitted data to the database. The database therefore continues to run without problem. The client/server system also maintains an automatic ‘transaction log’. If a backup has to be restored the transaction log can be run and should restore all completed transactions up to the time of the crash.