1. AlwaysOn
Availability Groups -- This
feature takes database mirroring to a whole new level. With AlwaysOn, users
will be able to fail over multiple databases in groups instead of individually.
Also, secondary copies will be readable, and can be used for database backups.
The big win is that your DR environment no longer needs to sit idle.
Below are a few feature sets of AAG:
·
Numerous
secondary replica copies: up to four secondary db copies.
·
It
allows control over the automatic failover process using flexible failover
policy for each availability group.
·
Provides
secure, high performing transport to replicas via Encryption and compression.
·
Other
availability modes: Asynchronous-commit mode and Synchronous-commit mode
·
Several
failover modes: automatic failover, planned manual failover, and forced manual
failover. For more information
·
Through
better source utilization of spare hardware permits Active secondary which
increase IT efficiency and reduce cost.
·
Provides
fast application-failover via Availability group listeners.
·
Automatic
page healing for protection against page corruption.
·
Forcing
WSFC quorum
2. Always-On SQL Failover Cluster
·
Failover clusters across subnets
A SQL Server multisubnet failover cluster is a design where all failover
cluster node is connected to a different networks or different set of
networks. These networks can be in the same physical location or in
phsicallydispersed . Clustering across global sites is sometimes referred to as
Stretch-clusters. As there is no need for shared storage that all the nodes can
access, data should be replicated among the data storage on the multiple
networks. With data replication, there is further than one copy of the data
available. Therefore, a multi-subnet failover cluster offers a disaster
recovery solution in addition to HA.
·
Flexible policy for cluster health detection
In a SQL Server failover-cluster instance, only one node can own the cluster
which is sometimes known as a single copy cluster. The client demands are
served through this primary node for that failover cluster instance. In the
case of a hardware failure, the group ownership is moved to another node in the
failover cluster node. In this case the process is called failovering over a
cluster.
3. Windows
Server Core Support -- If
you don't know what Windows Server Core is, you may want to come up to speed
before Windows 8 (MS is making a push back to the command line for server
products). Core is the GUI-less version of Windows that uses DOS and PowerShell
for user interaction. It has a much lower footprint (50% less memory and disk
space utilization), requires fewer patches, and is more secure than the full
install. Starting with SQL 2012, it is supported for SQL Server.
4. Columnstore
Indexes -- This a cool new
feature that is completely unique to SQL Server. They are special type of
read-only index designed to be use with Data Warehouse queries. Basically, data
is grouped and stored in a flat, compressed column index, greatly reducing I/O
and memory utilization on large queries.
5. User-Defined
Server Roles -- DBAs have
always had the ability to create custom database role, but never server wide.
For example, if the DBA wanted to give a development team read/write access to
every database on a shared server, traditionally the only ways to do it were
either manually, or using undocumented procedures. Neither of which were good
solutions. Now, the DBA can create a role, which has read/write access on every
DB on the server, or any other custom server wide role.
6. Enhanced
Auditing Features -- Audit
is now available in all editions of SQL Server. Additionally, users can define
custom audit specifications to write custom events into the audit log. New
filtering features give greater flexibility in choosing which events to write
to the log.
7. BI
Semantic Model -- This is
replacing the Analysis Services Unified Dimensional Model (or cubes most people
referred to them). It's a hybrid model that allows one data model will support
all BI experiences in SQL Server. Additionally, this will allow for some really
neat text infographics
8. Sequence
Objects -- For those folks who
have worked with Oracle, this has been a long requested feature. A sequence is
just an object that is a counter -- a good example of it's use would be to
increment values in a table, based a trigger. SQL has always had similar
functionality with identity columns, but now this is a discrete object.
9. Enhanced
PowerShell Support --
Windows and SQL Server admins should definitely start brushing up on their
PowerShell scripting skills. Microsoft is driving a lot of development effort
into instrumenting all of their server-based products with PowerShell. SQL 2008
gave DBAs some exposure to it, but there are many more in cmdlets in SQL 2012.
10.
Distributed Replay -- Once
again this is answer to a feature that Oracle released (Real Application
Testing). However, and in my opinion where the real value proposition of SQL
Server is, in Oracle it is a (very expensive) cost option to Enterprise
Edition. With SQL, when you buy your licenses for Enterprise Edition, you get
everything. Distributed replay allows you to capture a workload on a production
server, and replay it on another machine. This way changes in underlying
schemas, support packs, or hardware changes can be tested under production
conditions.
11. PowerView -- You may have heard of this under the
name "Project Crescent" it is a fairly powerful self-service BI
toolkit that allows users to create mash ups of BI reports from all over the
Enterprise.
12. SQL Azure
Enhancements -- These don't
really go directly with the release of SQL 2012, but Microsoft is making some
key enhancements to SQL Azure. Reporting Services for Azure will be available,
along with backup to the Windows Azure data store, which is a huge enhancement.
The maximum size of an Azure database is now up to 150G. Also Azure data sync
allows a better hybrid model of cloud and on-premise solutions
13. Big Data
Support -- I saved the
biggest for last, introduced at the PASS (Professional Association for SQL
Server) conference last year, Microsoft announced a partnership with Hadoop
provider Cloudera. One part of this involves MS releasing a ODBC driver for SQL
Server that will run on a Linux platform. Additionally, Microsoft is building
connectors for Hadoop, which is an extremely popular NoSQL platform. With this
announcement, Microsoft has made a clear move into this very rapidly growing
space.
SQL 2012 is a
big step forward for Microsoft -- the company is positioning itself to be a
leader in availability and in the growing area of big data. As a database
professional, I look forward to using SQL 2012 to bring new solutions to my
clients.
14. Indirect
checkpoints
This new feature offers a database-specific substitute to automatic
checkpoints, which are shaped by a server property. An indirect checkpoint
implements a new checkpointing formula for the DB Engine. This offers a more
accurate assurance of database recovery time in DR event or a failover than is
provided by automatic-checkpoints. To guarantee that database recovery does not
top allowable downtime for a given db, you can stipulate the maximum acceptable
downtime for that database.
T-SQL Enhancements
SQL Server 2012
brings many new features to the T-SQL language. Some were added merely to ease
the transition to SQL Server from other languages and platforms. Others were
added to provide very powerful, new ways to solve cumbersome problems. A few
examples:
·
TRY_CONVERT()
I’ve been bitten many times by bad data in a column using the wrong data type.
ISNUMERIC(), for example, is not always reliable; values that return true are
not convertible to all numeric types. Today I might try to perform something
like this:
SELECT CONVERT(INT, column) …
WHERE ISNUMERIC(column) = 1;
However, this will fail for values like ‘e’ which are considered numeric but
cannot be converted to an integer.
TRY_CONVERT() allows you to ignore invalid conversions
and return NULL for those values instead of returning an error for the entire
query.
·
OFFSET
/ FETCH
Many web applications use paging to show 10 or 50 rows per page and allow the
user to scroll through each page of results rather than download the entire
set. MySQL has had the non-standard LIMIT clause for some time now, and SQL
Server users have longed for similarly simple syntax.
ORDER BY … OFFSET / FETCH syntax, which is standards-compliant, has
been added to the SQL Server 2012. While it doesn’t provide significant
performance improvements over the tedious CTE solutions we use today, it
certainly makes the code easier to write, as I demonstrated in a
blog post last November.
·
FORMAT()
Using CLR under the covers, we will now finally have relative parity with the
.format() function we are used to using in .NET languages like C#. This means
no more memorizing cryptic style codes like 101 and 103 for converting datetime
values to localized presentation formats, or using all kinds of messy string
manipulation to present numeric values with dollar signs and thousands
separators. In August I wrote a lengthy
blog post about FORMAT() with many examples.
·
Window
Function Enhancements
If you’ve heard of Itzik Ben-Gan, you’re almost certainly aware of what a big
fan of window functions he is. I can tell you from first-hand experience that
he is absolutely ecstatic about SQL Server 2012’s addition of window offset and
distribution functions, as well as enhanced windowed aggregates (including
window framing). You can see an intro to these features in
his recent article on sqlmag.com, and watch for future articles, as well as
an upcoming book devoted entirely to the topic.