SQL Server
SQL Server is a DBMS system provided by Microsoft Corporation.
SQL Server is sometimes mistakenly referred to as just SQL. If you must, rather refer to it as MS-SQL. Remember, Oracle had SQL first! If someone asks me for a SQL database, I normally install Oracle.
History
Sybase Corporation developed the Sybase SQL Server relational database management system in 1987. In 1988 Sybase, Microsoft and Ashton-Tate co-developed SQL Server for the OS/2 platform. Microsoft later ported SQL Server to Windows NT.
In 1993 the co-development agreement ended and the companies parted ways while continuing to develop their respective versions of the database.
The latest version of SQL Server is SQL Server 2017.
Compared to Oracle
General
- SQL Server runs on the Windows and Linux operating systems while Oracle supports almost all popular operating systems, including Windows.
- Oracle offers more features and functionality than SQL Server.
- SQL Server is believed to be easier to use, while Oracle is believed to be more flexible.
- Oracle is typically used for mid-size to large databases while SQL Servers is typically used for small to mid-size databases.
- Oracle can cost more - but, it can also do more. Oracle Standard Edition and SQL Server cost about the same.
- SQL Server doesn't have anything like Oracle RAC - SQL Sever clustering requires application/schema changes; no application changes would be required to run Oracle across several computer nodes.
- Oracle has a much bigger market share - more databases runs Oracle; a bigger pool of skilled professionals are available.
Data storage
- Smallest unit of data storage in Oracle is a block (can be any size). In SQL Server, it is a page (size is hard coded to 8k).
- An extent in SQL Server is exactly 8 pages. In Oracle, extent sizes can be auto-allocated or configured.
- SQL Servers doesn't have "segments" like Oracle, and allow pages form different objects to be stored in a single extent.
- Oracle groups files together in tablespaces. SQL Server in file groups.
- Oracle tables can have a max of 1000 columns while SQL Server tables can have 32k. However, no system that is normalized should ever have close to a 1000 columns. SQL Server allows for the implementation of really bad and ugly designs (this should be discouraged).
Migration to/from Oracle
Oracle provides tools to convert SQL Server schemas to Oracle. For example, look at SQL Developer.