terça-feira, 10 de janeiro de 2017

[From Technet] Announcing Columnstore Indexes and Query Store support in Database Engine Tuning Advisor

The latest version of Microsoft SQL Server Database Engine Tuning Advisor (DTA) supports two new features: (a) Ability to recommend columnstore indexes in addition to rowstore indexes, and (b) Ability to automatically select a workload to tune from the Query Store. These new features are available when tuning for SQL Server 2016 Database Engine (or later) versions.

Recommendations for columnstore indexes

Data warehousing and analytic workloads often need to scan large amounts of data, and can greatly benefit from columnstore indexes. In contrast, rowstore (B+-tree) indexes are most effective for queries that access relatively small amounts of data searching for a particular range of values. Since rowstore indexes can deliver rows in sorted order, they can also reduce the cost of sorting in query execution plans. Therefore, the choice of which rowstore and columnstore indexes to build for your database is dependent on your application’s workload.

The latest version of DTA can analyze the workload and recommend a suitable combination of rowstore and columnstore indexes to build on the tables referenced by the workload. This article highlights the performance improvements achieved on real customer workloads by using DTA to recommend a combination of rowstore and columnstore indexes.

Tune Database using Workload from SQL Server Query Store

The Query Store feature in SQL Server automatically captures a history of queries, plans, and runtime statistics, and persists this information along with a database. It stores query execution statistics summarized over time intervals so you can see database usage patterns and understand when query plan changes happened on the server. DTA now supports a new option to analyze the Query Store to automatically select an appropriate workload for tuning. For many DTA users, this can take away the burden of having to collect a suitable workload file using SQL Server Profiler. This feature is only available if the database has Query Store turned on.

Next Steps

Download the latest version of Database Engine Tuning Advisor
For additional documentation on these features see also:
Columnstore Index Recommendations in Database Engine Tuning Advisor (DTA)
Tuning Database Using Workload from Query Store
Performance Improvements using Database Engine Tuning Advisor (DTA) recommendations



from SQL Server Blog http://ift.tt/2j2GtjQ

quarta-feira, 4 de janeiro de 2017

[From Technet] Welcome 2017! Recap of top SQL Server posts of 2016

We start off the new year with a quick recap of our most popular posts on this blog channel from the year just concluded.

Here are the posts that got the most number of views from our readers during 2016, in increasing order of readership:

10. SQL Server 2016 Express Edition in Windows containers

In October, we announced the public availability of SQL Server 2016 Express Edition in Windows Containers, a capability that comes in especially handy when you need to quickly create SQL Server instances for development or testing; or to maximize density in a test or production environment (especially in microservice architectures); or when you need to isolate and control apps in a multi-tenant infrastructure.

9. SQL Server 2016 Service Pack 1 generally available

A couple of months back, we made several new capabilities available as part of the SP1 release of SQL Server 2016. Developers can now build to a common programming surface across all editions – and do tons more, see the graphic below or read the full article for more.

SQL Server 2016 Service Pack 1

8. WideWorldImporters: The new SQL Server sample database

We figured a major release of the magnitude of SQL Server 2016 deserved its own new sample database. Besides, it was time for an upgrade of the erstwhile AdventureWorks database, which had a good run for over a decade. The new Wide World Importers sample illustrates how the rich feature set of SQL Server can be used in a real world setting. While it doesn’t attempt to use every single feature (as that would be unrealistic!) it does showcase a variety of key SQL Server 2016 capabilities and performance enhancements.

7. Preview the newest ODBC SQL Server Driver for Windows and Linux

Early last year, we announced our community technology preview of Microsoft ODBC Driver 13 for SQL Server on Windows and Linux, supporting Ubuntu, RedHat and SUSE distributions, providing robust data access to Microsoft SQL Server and Microsoft Azure SQL Database via ODBC on Windows and Linux platforms.

6. Microsoft announces major commitment to Apache Spark

Back in June last year, we announced an extensive commitment for Spark to power Microsoft’s big data and analytics offerings, including Cortana Intelligence, Power BI, and Microsoft R Server.

Spark

5. JSON in SQL Server 2016: Part 1 of 4

JSON is one of the most widely used data exchange formats, with most modern services returning information as JSON text, and web browsers using information formatted as JSON. JSON is the common format when semi-structured information needs to be stored, such as in files. Because so much data is formatted as JSON, it’s critical for SQL Server to process JSON text retrieved from other systems, and to format information retrieved from SQL Server tables as JSON text. This was the first post in a 4-part series; use the links that follow to read Part 2, Part 3 and Part 4 of the series.

4. SQL Server on Linux: How? Introduction

Many of you in the community expressed your curiosity about how we made SQL Server run on Linux, so – just before the holidays – we kicked off a blog series last month to share technical details about this very topic, starting with an introduction to the journey of offering SQL Server on Linux.

3. Announcing SQL Server on Linux public preview, first preview of next release of SQL Server

The community shared our excitement when we announced the first public preview of SQL Server on Linux in November, allowing developers to create their SQL Server solutions on Linux, Windows, Docker, or macOS (via Docker), and then deploy to Linux, Windows, or Docker, on-premises or in the cloud. There’s been tremendous interest from large enterprises as well, with a majority of Fortune 500 companies signing up for this preview release.

Microsoft Heart Pengiun

2. SQL Server 2016 is generally available today

Perhaps our biggest announcement of the year was the general availability of SQL Server 2016, back in June. There was also this post a month prior to the release, recapping key capabilities and benchmarks we achieved. As the world’s fastest, most price-performant database for HTAP (Hybrid Transactional and Analytical Processing) with updateable, in-memory columnstores and advanced analytics via deep integration with R Services, SQL Server offers industry-leading TCO and is a truly watershed product.

SQL Server 2016 leading TCO

1. Microsoft SQL Server Developer Edition is now free

The best things in life are free, as they say – and so it was certainly so for our announcement that SQL Server Developer Edition was being made a free download for all Visual Studio Dev Essentials members. Note that the SQL Server Developer Edition is only for development and testing, and not for production environments or for use with production data. This announcement was an important step in Microsoft making SQL Server ever more broadly accessible.

Stay tuned to this channel for much more exciting news during the year ahead about databases in general, and the SQL Server family in particular.

We wish all of our readers a very happy new year!
SQL Server Blog Team



from SQL Server Blog http://ift.tt/2j53oHK

sexta-feira, 16 de dezembro de 2016

[From Technet] SQL Server next version Community Technology Preview 1.1 now available

Microsoft is excited to announce that the next version of SQL Server (SQL Server v.Next) Community Technology Preview (CTP) 1.1 is now available for download on both Windows and Linux. In SQL Server v.Next CTP 1.1, part of our rapid preview model, we made enhancements to several database engine and Business Intelligence (BI) capabilities which you can try in your development and test environments.

Key enhancements in SQL Server v.Next on Windows CTP 1.1 for Analysis Services tabular models include:

  • New infrastructure for data connectivity and ingestion into tabular models with support for TOM APIs and TMSL scripting. This infrastructure enables:
    • Support for additional data sources, such as MySQL. Additional data sources are planned in upcoming CTPs.
    • Data transformation and data mashup capabilities.
  • Support for BI tools such as Microsoft Excel enable drill-down to detailed data from an aggregated report. For example, when end-users view total sales for a region and month, they can view the associated order details.
  • Support for ragged hierarchies in reports, such as organizational and account charts.
  • Enhanced security for tabular models, including the ability to set permissions to help secure individual tables.

For more detailed information about Analysis Services in SQL Server v.Next CTP 1.1, see the Analysis Services Team Blog.

Key SQL Server v.Next on Windows and Linux CTP 1.1 database engine enhancements include:

  • Language and performance enhancements to natively compiled T-SQL modules, including support for OPENJSON, FOR JSON, JSON built ins as well as memory-optimized tables support for computed columns.
  • Improved the performance of updates to non-clustered columnstore indexes in the case when the row is in the delta store.
  • Batch mode queries now support “memory grant feedback loops,” which learn from memory used during query execution and adjusts on subsequent query executions; this can allow more queries to run on systems that are otherwise blocking on memory.
  • New T-SQL language features:
    • Introducing three new string functions: TRIM, CONCAT_WS, and TRANSLATE
    • BULK IMPORT supports CSV format and Azure Blob Storage as file source
    • STRING_AGG supports WITHIN GROUP (ORDER BY)s

In addition, we have added support for Red Hat 7.3 and Ubuntu 16.10 to SQL Server on Linux.

For additional detail, please visit What’s New in SQL Server v.Next, Release Notes and Linux documentation.

Download SQL Server v.Next CTP 1.1 preview today!

SQL Server v.Next brings the power of SQL Server to both Windows – and for the first time ever – Linux.  SQL Server enables developers and organizations to build intelligent applications with industry-leading performance and security technologies using their preferred language and environment.

Try the preview of the next release of SQL Server today! Get started with the preview of SQL Server on Linux, macOS (via Docker) and Windows with our developer tutorials that show you how to install and use SQL Server v.Next on macOS, Docker, Windows, RHEL and Ubuntu and quickly build an app in a programming language of your choice.

Visit the SQL Server v.Next webpage to learn more.  To experience the new, exciting features in SQL Server v.Next and our rapid release model, download the preview on Linux and Windows and start evaluating the impact these new innovations can have for your business. Have questions? Join the discussion of the new SQL Server v.Next capabilities at MSDN. If you run into an issue or would like to make a suggestion, you can let us know at Connect. We look forward to hearing from you!



from SQL Server Blog http://ift.tt/2hQ0BWo

[From Technet] SQL Server on Linux: How? Introduction

This post was authored by Scott Konersmann, Partner Engineering Manager, SQL Server, Slava Oks, Partner Group Engineering Manager, SQL Server, and Tobias Ternstrom, Principal Program Manager, SQL Server

Introduction

We first announced SQL Server on Linux in March, and recently released the first public preview of SQL Server on Linux (SQL Server v.Next CTP1) at the Microsoft Connect(); conference. We’ve been pleased to see the positive reaction from our customers and the community; in the two weeks following the release, there were more than 21,000 downloads of the preview. A lot of you are curious to hear more about how we made SQL Server run on Linux (and some of you have already figured out and posted interesting articles about part of the story with “Drawbridge”). We decided to kick off a blog series to share technical details about this very topic starting with an introduction to the journey of offering SQL Server on Linux. Hopefully you will find it as interesting as we do! J

Summary

Making SQL Server run on Linux involves introducing what is known as a Platform Abstraction Layer (“PAL”) into SQL Server. This layer is used to align all operating system or platform specific code in one place and allow the rest of the codebase to stay operating system agnostic. Because of SQL Server’s long history on a single operating system, Windows, it never needed a PAL. In fact, the SQL Server database engine codebase has many references to libraries that are popular on Windows to provide various functionality. In bringing SQL Server to Linux, we set strict requirements for ourselves to bring the full functional, performance, and scale value of the SQL Server RDBMS to Linux. This includes the ability for an application that works great on SQL Server on Windows to work equally great against SQL Server on Linux. Given these requirements and the fact that the existing SQL Server OS dependencies would make it very hard to provide a highly capable version of SQL Server outside of Windows in reasonable time it was decided to marry parts of the Microsoft Research (MSR) project Drawbridge with SQL Server’s existing platform layer SQL Server Operating System (SOS) to create what we call the SQLPAL. The Drawbridge project provided an abstraction between the underlying operating system and the application for the purposes of secure containers and SOS provided robust memory management, thread scheduling, and IO services. Creating SQLPAL enabled the existing Windows dependencies to be used on Linux with the help of parts of the Drawbridge design focused on OS abstraction while leaving the key OS services to SOS. We are also changing the SQL Server database engine code to by-pass the Windows libraries and call directly into SQLPAL for resource intensive functionality.

Requirements for supporting Linux

SQL Server is Microsoft’s flagship database product which with close to 30 years of development behind it. At a high level, the list below represents our requirements as we designed the solution to make the SQL Server RDBMS available on multiple platforms:

  1. Quality and security must meet the same high bar we set for SQL Server on Windows
  2. Provide the same value, both in terms of functionality, performance, and scale
  3. Application compatibility between SQL Server on Windows and Linux
  4. Enable a continued fast pace of innovation in the SQL Server code base and make sure new features and fixes appear immediately across platforms
  5. Put in place a foundation for future SQL Server suite services (such as Integration Services) to come to Linux

To make SQL Server support multiple platforms, the engineering task is essentially to remove or abstract away its dependencies on Windows. As you can imagine, after decades of development against a single operating system, there are plenty of OS-specific dependencies across the code base. In addition, the code base is huge. There are tens of millions of lines of code in SQL Server.

SQL Server depends on various libraries and their functions and semantics commonly used in Windows development that fall into three categories:

  • “Win32” (ex. user32.dll)
  • NT Kernel (ntdll.dll)
  • Windows application libraries (such as MSXML)

You can think of these as core library functions, most of them have nothing to do with the operating system kernel and only execute in user mode.

While SQL Server has dependencies on both Win32 and the Windows kernel, the most complex dependency is that of Windows application libraries that have been added over the years in order to provide new functionality.  Here are some examples:

  • SQL Server’s XML support uses MSXML which is used to parse and process XML documents within SQL Server.
  • SQLCLR hosts the Common Language Runtime (CLR) for both system types as well as user defined types and CLR stored procedures.
  • SQL Server has some components written in COM like the VDI interface for backups.
  • Heterogeneous distributed transactions are controlled through Microsoft Distributed Transaction Coordinator (MS DTC)
  • SQL Server Agent integrates with many Windows subsystems (shell execution, Windows Event Log, SMTP Mail, etc.).

These dependencies are the biggest challenge for us to overcome to meet our goals of bringing the same value and having a very high level compatibility between SQL Server on Windows and Linux. As an example, to re-implement something like SQLXML would take a significant amount of time and would run a high risk of not providing the same semantics as before, and could potentially break applications. The option of completely removing these dependencies would mean we must also remove the functionality they provide from SQL Server on Linux. If the dependencies were edge cases and only impacting very few customer visible features, we could have considered it. As it turns out, removing them would cause us to have to remove tons of features from SQL Server on Linux which would go against our goals around compatibility and value across operating systems.

We could take the approach of doing this re-implementation piecemeal, bringing value little by little. While this would be possible, it would also go against the requirements because it would mean that there would be a significant gap between SQL Server on Linux and Windows for years. The resolution lies in the right platform abstraction layer.

Building a PAL

Software that is supported across multiple operating systems always has an implementation of some sort of Platform Abstraction Layer (PAL). The PAL layer is responsible for abstraction of the calls and semantics of the underlying operating system and its libraries from the software itself. The next couple of sections consider some of the technology that we investigated as solutions to building a PAL for SQL Server.

SQL Operating System (SOS or SQLOS)

In the SQL Server 2005 release, a platform layer was created between the SQL Server engine and Windows called the SQL Operating System (SOS). This layer was responsible for user mode thread scheduling, memory management, and synchronization (see SQLOS for reference).  A key reason for the creation of SOS was that it allowed for a centralized set of low level management and diagnostics functionality to be provided to customers and support (subset of Dynamic Management Views/DMVs and Extended Events/XEvents).  This layer allowed us to minimize the number of system calls involved in scheduling execution by running non-preemptively and letting SQL Server do its own resource management.  While SOS improved performance and greatly helped supportability and debugging, it did not provide a proper abstraction layer from the OS dependencies described above, i.e. Windows semantics were carried through SOS and exposed to the database engine.

01

In the scenario where we would completely remove the dependencies on the underlying operating system from the database engine, the best option was to grow SOS into a proper Platform Abstraction Layer (PAL).  All the calls to Windows APIs would be routed through a new set of equivalent APIs in SOS and a new host extension layer would be added on the bottom of SOS that would interact with the operating system. While this would resolve the system call dependencies, it would not help with the dependencies on the higher-level libraries.

Drawbridge

Drawbridge was an Microsoft Research project (see Drawbridge for reference) that focused on drastically reducing the virtualization resource overhead incurred when hosting many Virtual Machines on the same hardware.  The research involved two ideas.  The first idea was a “picoprocess” which consists of an empty address space, a monitor process that interacts with the host operating system on behalf of the picoprocess, and a kernel driver that allows a driver to populate the address space at startup and implements a host Application Binary Interface (ABI) that allows the picoprocess to interact with the host.  The second idea was a user mode Library OS, sometimes referred to as LibOS.  Drawbridge provided a working Windows Library OS that could be used to run Windows programs on a Windows host.  This Library OS implements a subset of the 1500+ Win32 and NT ABIs and stubs the rest to either succeed or fail depending on the type of call.

02

Our needs didn’t align with the original goals of the Drawbridge research.  For instance, the picoprocess idea isn’t something needed for moving SQL Server to other platforms.  However, there were a couple of synergies that stood out:

  1. Library OS implemented most of the 1500+ Windows ABIs in user mode and only 45-50 ABIs were needed to interact with the host.  These ABIs were for address space and memory management, host synchronization, and IO (network and disk).  This made for a very small surface area that needs to be implemented to interact with a host.  That is extremely attractive from a platform abstraction perspective.
  2. Library OS was capable of hosting other Windows components.  Enough of the Win32 and NT layers were implemented to host CLR, MSXML, and other APIs that the SQL suite depends on. This meant that we could get more functionality to work without rewriting whole features.

There were also some risk and reward tradeoffs:

  1. The Microsoft Research project was complete and there was no support for Drawbridge. Therefore, we needed to take a source snapshot and modify the code for our purposes.  The risks were around the costs to ramp up a team on the Library OS, modify it to be suitable for SQL Server, and make it perform comparably with Windows.  On the positive side, this would mean everything is in user mode and we would own all the code within the stack.  Performance critical code can be optimized because we can modify all layers of the stack including SQL Server, the Library OS, and the host interface as needed to make SQL Server perform.  Since there are no real boundaries in the process, it is possible for SQL Server to call Linux.
  2. The original Drawbridge project was built on Windows and used a kernel driver and monitor process.  This would need to be dropped in favor of a user mode only architecture.  In the new architecture, the host extension (referred to as PAL in the Drawbridge design) on Windows would move from a kernel driver to just a user mode program.  Interestingly enough, one of the researchers had developed a rough prototype for Linux that proved it could be done.
  3. Because the technologies were created independently there was a large amount of overlapping functionality.  SOS had subsystems for object management, memory management, threading/scheduling, synchronization, and IO (disk and network). The Library OS and Host Extension also had similar functionality.  These systems would need to be rationalized down to a single implementation.
Technologies

SOS

Library OS

Host Extension

Object Management

Memory Management

Threading/Scheduling

Synchronization

I/O (Disk, Network)

 

Meet SQLPAL

As a result of the investigation, we decided on a hybrid strategy.  We would merge SOS and Library OS from Drawbridge to create the SQL PAL (SQL Platform Abstraction Layer). For areas of Library OS that SQL Server does not need, we would remove them. To merge these architectures, changes were needed in all layers of the stack.

The new architecture consists of a set of SOS direct APIs which don’t go through any Win32 or NT syscalls.  For code without SOS direct APIs they will either go through a hosted Windows API (like MSXML) or NTUM (NT User Mode API – this is the 1500+ Win32 and NT syscalls). All the subsystems like storage, network, or resource management will be based on SOS and will be shared between SOS direct and NTUM APIs.

03

This architecture provides some interesting characteristics:

  • Everything running in process boils down to the same platform assembly code.  The CPU can’t tell the difference between the code that is providing Win32 functionality to SQL Server or native Linux code.
  • Even though the architecture shows layering, there are no real boundaries within the process (There is no spoon!).  If code running in SQL Server which is performance critical needs to call Linux it can do that directly with a very small amount of assembler via the SOS direct APIs to setup the stack correctly and process the result.  An example where this has been done is the disk IO path.  There is a small amount of conversion code left to convert from Windows scatter/gather input structure to Linux vectored IO structure.  Other disk IO types don’t require any conversions or allocations.
  • All resources in the process can be managed by SQLPAL.  In SQL Server, before SQLPAL, most resources such as memory and threads were controlled, but there were some things outside it’s control.  Some libraries and Win32/NT APIs would create threads on their own and do memory allocations without using the SOS APIs.  With this new architecture, even the Win32 and NT APIs would be based on SQLPAL so every memory allocation and thread would be controlled by SQL PAL. As you can see this also benefits SQL Server on Windows.
  • For SQL Server on Linux we are using about 81 MB of uncompressed Windows libraries, so it’s a tiny fraction (less than 1%) of a typical Windows installation. SQLPAL itself is currently around 8 MB.

Process Model

The following diagram shows what the address space looks like when running.   The host extension is simply a native Linux application.  When host extension starts it loads and initializes SQLPAL, SQLPAL then brings up SQL Server.  SQLPAL can launch software isolated processes that are simply a collection of threads and allocations running within the same address space.  We use that for things like SQLDumper which is an application that is run when SQL Server encounters a problem to collect an enlightened crash dump.

One point to reiterate is that even though this might look like a lot of layers there aren’t any hard boundaries between SQL Server and the host.

04

Evolution of SQLPAL

At the start of the project, SQL Server was built on SOS and Library OS was independent.  The eventual goal is to have a merged SOS and Library OS as the core of SQL PAL.  For public preview, this merge wasn’t fully completed, but the heart of SQLPAL had been replaced with SOS.  For example, threads and memory already use SOS functionality instead of the original Drawbridge implementations.

The result is that there are two instances of SOS running inside the CTP1 release: one in SQL Server and one in SQLPAL .  This works fine because the SOS instance in SQL Server is still using Win32 APIs which call down into the SQLPAL.  The SQLPAL instance of the SOS code has been changed to call the host extension ABIs (i.e. the native Linux code) instead of Win32.

Now we are working on removing the SOS instance from SQL Server.  We are exposing the SOS APIs from the SQLPAL.  Once this is completed everything will flow through the single SQLPAL SOS instance.

More posts

We are planning more of these posts to share to tell you about our journey, which we believe has been amazing and a ton of fun worth sharing. Please provide comments if there are specific areas you are interested in us covering!

Thanks!



from SQL Server Blog http://ift.tt/2gTGy7J

quinta-feira, 15 de dezembro de 2016

[From Technet] SQL Server + C#: What’s new

This post was authored by Andrea Lam, Program Manager, SQL Server

With the release of SQL Server v.Next public preview on Linux and Windows, the ability to connect to SQL Server on Linux, Windows, Docker or macOS (via Docker) makes cross-platform support for all connectors, including .NET Framework and .NET Core SqlClient, even more important. To enable C# developers to use the newest SQL Server features, we have been updating SqlClient with client-side support for new features.

In .NET Framework, we have provided client-side support for Always Encrypted and added Azure Active Directory as an authentication method. We’ve also added a new connection string parameter called “Pool Blocking Period.” It can be used to select the behavior of the blocking period when connecting to Azure SQL Database and SQL Server. Many applications that connect to Azure SQL Database need to render quickly, and the exponential blocking period can be problematic, especially when throwing errors. By adding the Pool Blocking Period parameter, we aim to improve the experience for connections to Azure SQL Database. Learn more about the new parameter here.

.NET Core is the cross-platform, open-source implementation of the .NET Framework. The project includes CoreFX, the foundational libraries of .NET Core. Cross-platform support allows developers to seamlessly run applications on their operating system of choice, regardless of the platform it was developed on. For example, an app developed on Windows can be deployed to macOS and Linux, without ever having to port any code. To connect apps written in .NET Core to SQL Server (hosted anywhere), developers can use System.Data.SqlClient available in CoreFX. By developing in .NET Core on GitHub, we have been able to get feedback quickly and are actively working to enable the breadth of application scenarios and workloads.

Get started today

  • Check out CoreFX on GitHub! Make pull requests and let us know what you think.
  • Try the new getting started tutorials that show you how to:
    • Install SQL Server on Linux/macOS/Docker/Windows
    • Create a simple app using C# and other popular programming languages with SQL Server
    • Create a simple app using popular web frameworks and Object Relational Mapping (ORM) frameworks with SQL Server
    • Try out some cool SQL Server features that can make your apps shine

Connect with us

Learn more

Other videos in this series



from SQL Server Blog http://ift.tt/2h519Uu

terça-feira, 13 de dezembro de 2016

[From Technet] SQL Server + PHP – What’s new

This post is authored by Meet Bhagdev, Program Manager, Microsfoft

PHP is one of the most widely used programming languages for web developers today. The Microsoft PHP Connector for SQL Server is used to connect PHP applications to SQL Server, whether SQL Server is hosted in the cloud, on-premises or provided as a platform as a service.

We recently announced SQL Server v.Next CTP1 on Linux and Windows, which brings the power of SQL Server to both Windows and — for the first time ever — Linux. Developers can now create applications with SQL Server on Linux, Windows, Docker or macOS (via Docker) and then deploy to Linux, Windows, or Docker, on-premises or in the cloud.

As part of this announcement, we have made some improvements to our PHP connector:

  • SQL Server v.Next Support: You can now use the PHP connectors to connect to SQL Server v.Next CTP1 of SQL Server running anywhere, including SQL Server on Linux, Windows or Docker.
  • Linux support: We’ve created Linux-native versions of sqlsrv and pdo_sqlsrv modules of the PHP SQL Server Connector. Now you can use the PHP Connector to connect to SQL Server on Ubuntu 15.04, 15.10, 16.04, Red Hat 6 and Red Hat 7.
  • PHP 7.0 and 7.1 support: We have added support for the latest PHP runtimes for Windows and Linux with our releases on GitHub.
  • PECL Install Experience for Linux: We have created native PECL packages for Linux. This enables developers to install, upgrade and uninstall the PHP SQL Server connector using the PECL package repository. This is explained in detail in our Getting Started tutorials.
  • Community input for prioritization: We have also started using surveys on GitHub to guide our prioritization for features and improvements. Check our latest survey and let us know what you think.

Get started today

Connect with us

Learn more

  • Visit Connect(); to watch overview, security, high-availability and developer tools videos about SQL Server on Linux on demand.

Learn more

Other videos in this series



from SQL Server Blog http://ift.tt/2gx1fmp

sexta-feira, 9 de dezembro de 2016

[From Technet] SQL Server + Python — What’s new

Python is one of the most popular and fastest-growing languages used today. Pyodbc (Python-SQL Server Connector) is an open source Python module maintained by Michael Kleehammer that uses ODBC Drivers to connect to SQL Server. It allows you to connect from the platform of your choice to SQL Server on-premises and in the cloud. Pyodbc is also cross platform and can be installed using pip.

We recently announced SQL Server v.Next CTP1 on Linux and Windows, which brings the power of SQL Server to both Windows and — for the first time ever — Linux. You can now connect your applications to SQL Server running on Linux, Windows and macOS (with Docker).

For our Python developers, we have a few updates that will improve Python connectivity with SQL Server. Pyodbc is now:

  • Officially supported: You can contact Microsoft Customer Service and Support (CSS) via phone, email, Twitter, forums, etc., to report and get help with any issue.
  • Available in Jupyter Notebooks for SQL Server: The Jupyter Notebook is a web application that allows you to create and share documents that contain live code, equations and visualizations. Pyodbc and its dependencies ship out of the box with Juypter notebooks on Azure. To get started, go to notebooks.azure.com and create a new Python 2 notebook or follow the instructions here. Check out the code sample and paste it in your notebook’s interactive prompt to get started.
  • Compatible with Python 3.5 and Django 1.10 through Django-pyodbc-azure.

Get started today

  • Try the new getting started tutorials that show you how to:
    • Install SQL Server on Linux or Windows or run on Docker in multiple platforms.
    • Create a simple app using C#, Java, Node.js, PHP and Python with SQL Server.
    • Create a simple app using popular web frameworks like Django with SQL Server.
    • Try out some cool SQL Server features that can make your apps shine.
  • Get the latest v17.0 RC1 versions of SQL Server Management Studio (SSMS) and SQL Server Data Tools (SSDT).
  • Get the mssql extension for Visual Studio Code and develop apps with SQL Server on Linux/macOS/Windows.

Connect with us

Learn more

  • Visit Connect(); to watch overview, security, high-availability and developer tools videos about SQL Server on Linux on demand.

Learn more

Other videos in this series



from SQL Server Blog http://ift.tt/2gl7QoO

quinta-feira, 8 de dezembro de 2016

[From Technet] SQL Server + Node.js – What’s new?

JavaScript is the most popular and active programming language among developers across various industries. Tedious Node.js connector is a JavaScript implementation of the Tabular Data Stream (TDS) protocol. This Node.js connector allows you to connect from platform of your choice to SQL Server on premise and in the cloud. Tedious is a native JavaScript connector that provides the npm install experience.

Capture

I’m pleased to share that Microsoft is now a collaborator for Tedious on GitHub and contributes actively to this community-initiated effort. The Tedious Node.js connector is:

  • Cross-platform: You can connect to SQL Server anywhere from node.js from platform of your choice – be it Windows, macOS, or Linux.
  • Open-source: As a matter of fact, it is a project initiated by the open-source community and continues to be driven by the community. This allows us to engage with developers on GitHub, develop transparently and gather feedback quickly.
  • Officially supported: You can contact Microsoft Customer Service and Support (CSS) via phone, email, twitter, forums, etc. to report and get help with any issue.

We are fixing bugs found via issues reported on GitHub and are partnering with developers to make Tedious better. We are planning on adding support for advanced SQL Server features like Multi-Subnet Failover, Always On Availability Groups, Always Encrypted, Azure Active Directory (AAD), etc.

Windows Integrated Authentication is the most common issue reported by developers on GitHub and the top request from customers. In response to customer feedback we are working on adding support for it in the next release of Tedious.

Get started today

  • Check out GitHub repo for Tedious and contribute.
  • File issues for bugs, feature requests, questions, etc. on GitHub and help us prioritize.
  • Follow the Google Group for discussions on Tedious.
  • Try the new getting started tutorials that show you how to:
    • Install SQL Server on Linux/macOS/Docker/Windows
    • Create a simple app using languages such as C#, Java, Node.js, PHP and Python with SQL Server.
    • Create a simple app using popular web frameworks and Object Relational Mapping (ORM) frameworks with SQL Server.
    • Try out some cool SQL Server features that can make your apps shine.

Connect with us

Learn more

Other videos in this series



from SQL Server Blog http://ift.tt/2gpcEbe

[From Technet] Introducing SQL Server Premium Assurance

IT departments are in a fundamental state of change, with the drive for digital transformation creating many net new applications and moving others to the cloud. At the same time, companies must also maintain stable and secure operation of their existing applications databases. To provide better flexibility in managing these diverse priorities, Microsoft is announcing two new offerings to help you run applications longer without disruption: Windows Server Premium Assurance and SQL Server Premium Assurance. These offerings add six more years of product support for Windows Server and SQL Server versions 2008 and newer–for up to 16 years of total product support. The additional support minimizes the risk and costs associated with upgrading critical application databases, and helps to secure data and maintain regulatory compliance for six additional years.

To learn more about how Premium Assurance extends the product lifecycles for Windows Server and SQL Server, read the full Premium Assurance article on the Hybrid Cloud blog.



from SQL Server Blog http://ift.tt/2goHaSG

terça-feira, 6 de dezembro de 2016

[From Technet] SQL Server + Java: What’s new

Java continues to be one of the most widely used programming languages for a variety of application scenarios and industries. The Microsoft JDBC Driver for SQL Server is used to connect Java applications to SQL Server, whether SQL Server is hosted in the cloud or on-premises, or provided as a platform-as-a-service.

With the release of SQL Server v.Next public preview on Linux and Windows, the ability to connect to SQL Server on Linux, Windows, Docker or macOS (via Docker) makes cross-platform support for all connectors, including the JDBC driver, even more important. To enable Java developers to use the newest SQL Server features, we have been updating the JDBC driver with client-side support for new features, including Always Encrypted and Azure Active Directory Authentication.

We recently open sourced the Microsoft JDBC Driver for SQL Server. In doing so, we included the Java source code on GitHub (under MIT License). By making the project available on GitHub, we hope to facilitate a quicker feedback loop for Java developers. This feedback will be used to inform the prioritization of the developed features to support the variety of Java applications that connect to SQL Server. We want to get the community involved as much as possible in the design and implementation of features and welcome pull requests. We’ve also included build scripts if you’d like to build the jars on your own.

We have also made the connector available on the Maven Central Repository. Maven is popularly used by Java developers to build projects and manage dependencies. Maven support has been one of the most popular requests for the JDBC driver, and we hope that its availability on the Central Repository will make it easier to obtain and use the JDBC driver in new and existing projects. It’s as simple as adding the JDBC driver to your Maven project’s POM file.

This connector can be used to connect Java applications to Azure SQL Database, Azure SQL Data Warehouse and SQL Server (including SQL Server v.Next public preview). We have two jars available to support JRE 7 and 8. To start using the JDBC driver or upgrade your existing JDBC driver to the newest version, you can use one of the methods below:

  • Add the corresponding JDBC jar (version 6.1.0.jre8 or 6.1.0.jre7) to your Maven project by adding it as a dependency using the code below:

<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>6.1.0.jre8</version>
</dependency>

  • Build the corresponding jar for your JRE version (7 or 8) on your own through Maven or Ant build scripts available on GitHub and reference it in your application.
  • Download the corresponding jar for your JRE version from Maven.

You can learn more about open sourcing the JDBC driver and support for Maven in this blog. We look forward to working more closely with the community to continue to bring the best support for Java applications connecting to SQL Server.

Get started today

  • Check out the JDBC driver source code on GitHub! Make pull requests and let us know what you think.
  • Add the JDBC driver from the Central Repository to your POM file in your Maven project.
  • Try the new getting started tutorials that show you how to:
    • Install SQL Server on Linux/macOS/Docker/Windows
    • Create a simple app using Java and other popular programming languages with SQL Server
    • Create a simple app using popular web frameworks and Object Relational Mapping (ORM) frameworks with SQL Server
    • Use cool SQL Server features that can make your apps shine

Connect with us

Learn more

Other videos in this series



from SQL Server Blog http://ift.tt/2gZx5d1