以前のバージョンよりもSQL Server 2016を優先する客観的な理由は何ですか?


29

Microsoftは、SQL Server 2005または2008の日以降、SQL Serverのバージョンアップグレードをより頻繁に行うため、多くの企業は、アップグレードが「必須」であるかどうかを判断するのが難しいと感じています。アップグレードが「必要なもの」である場合

以前のバージョンよりもSQL Serverのさまざまな新しいリリースを好む理由について尋ねるいくつかの以前の質問の精神で、企業が以前のバージョンからSQL Server 2016へのアップグレードを検討する客観的な技術的またはビジネス上の理由は何ですか? SQL Server 2014などのリリース?

(この質問 SQL Server 2008の、またはそれに比べてSQL Server 2012の程度、この1 SQL Server 2005に比べてSQL Server 2012の程度それらへの回答ものためにここに理由の一部に拡大し、この質問の精神の例として、気にしています。 SQL Server 2008またはSQL Server 2005で始まる企業)

回答:


36

SQL Server 2016へのアップグレードを検討する理由は多数あります。ほとんどの場合、これらの理由は、使用しているSQL Serverのバージョンによって異なります。これは完全なリストではありませんが、思い浮かぶいくつかの理由を挙げます。2016年11月のSQL Server 2016 SP1のリリースで学んだ1つの非常に大きな理由を含めます。拡張機能や私が見逃した機能に関する他の回答を楽しみにしています。

大きな理由:Standard Editionで多くの機能が利用可能になりました

2016年11月16日にMicrosoftはこの発表に伴い、SQL Serverの2016年のService Pack 1のリリースを発表し、彼らはまた、以前のEnterprise Editionの顧客に予約し、多くの機能がで利用できるようにすると発表したすべての標準、エクスプレス(と- SQL Serverのエディションのいくつかの例外)、Enterprise Editionに加えてWeb。

これは、SQL Serverバックエンドを備えたソフトウェアを開発および販売するソフトウェアベンダーにとって、アップグレードする非常に魅力的な理由となるはずです。SQLServerのライセンスエディションに関係なく、多くの機能を顧客が利用できるようになりました。また、これは、長期にわたって製品に追加された監査またはその他のセキュリティ強化を維持する必要がある分野の企業にとっても魅力的です。

私の謙虚な意見では、SQL Serverでの17年以上の作業の中で、SQL Server 2016 SP1は、バージョン6.5でSQL Serverを使い始めて以来、最も魅力的なアップグレードになる可能性があります。(誤解しないでください、2000、2005、2012にはそれぞれの時代のプロもいました!)

以下のリストをご覧ください。ただし、Standard Editionで使用できる機能の簡単な例として、圧縮、変更データキャプチャ、詳細な監査、行レベルセキュリティ、常に暗号化、パーティション分割、データベースがあります。スナップショット、インメモリOLTP、列ストア。

SQL Server 2016の新機能の特定の理由

このセクションでは、SQL Server 2016でのみ導入された機能について、ここでの理由を維持しようとしています。この回答では、コアエンジンの機能強化についてのみ説明し、レポート、分析、データ統合などについては説明しません。

セキュリティ関連

行レベルのセキュリティ -行ごとにセキュリティを実装できるようにしたい多くのクライアントがいます。「ユーザーxはこの行のデータを表示できますが、その行は表示できません」。これらのクライアントの多くは、これを実現するための関数や複雑なビューベースの構造を作成しています。SQL Server 2016には、ここで役立つ組み込みの述語とセキュリティポリシーが用意されています。RLSの詳細については、こちらをご覧ください

動的データマスキング -これは紙上では素晴らしいように聞こえますが、セキュリティ領域の他の2つの変更よりも有用性が低いと証明されるのではないかと思います。基本的に、呼び出し元のアクセス許可に基づいて、クエリ時にデータを動的にマスクまたは難読化できます。難読化されるデータの量は、プログラム可能なものです。たとえば、Microsoftが使用する例では、クレジットカード番号の最後の4桁を除くすべてをマスクできるため、コールセンターの電話受付係が最後の4桁を確認できます。詳細については、こちらご覧ください

常に暗号化 -おそらく、透過的データ暗号化に関するいくつかの欠陥や懸念について聞いたことがあるでしょう。おそらく、SAアクセスを持つユーザーが必要に応じて確実に復号化できることを恐れて、TDEを使​​用したくないでしょう。Always Encryptedは、復号化/暗号化機能をSQL Serverを呼び出すアプリケーションの手に委ねる機能としてリリースされました。SQL Serverの保存データは暗号化されます。このアプローチの結果として、SQL Serverに向かう飛行中のデータも暗号化されます。Always Encryptedの詳細については、こちらをご覧ください

HA / DR機能

いくつかの機能がここに登場しました。1つは、SQL Server StandardのAlways On可用性グループ-基本可用性グループを使用する機能です。これは、ミラーリングが非推奨であり、代替がないため、必要でした。機能は、レプリカの数と同期のアプローチに制限されます。詳細はこちらをご覧ください

これは、可用性グループへの唯一の変更ではありません(ところで、これはSQL Server 2012で導入されました)。他にもいくつかの変更点があります(他の変更点へのリンクを含む完全なリストはこちらで確認できます)。

  1. グループ管理サービスアカウントがサポートされています。
  2. 分散トランザクションがサポートされています(いくつかの注意事項があります)。
  3. 読み取りインテント接続は、読み取り専用レプリカ間で負荷分散できます。
  4. 現在、3つのレプリカを自動フェールオーバーに含めることができます。
  5. 暗号化されたデータベースは、Always On可用性グループに参加できるようになりました。
  6. パフォーマンスの改善-SQL Server 2016のテーマの一部は「高速」です-これはMicrosoftマーケティングスピンですが、市場で実証されています。可用性グループのパフォーマンスにいくつかの改善が加えられました。

インストーラーはいくつかのよくある間違いを修正します

SQL Server 2016以降のSQL Serverインストーラーは、TempDBの構成時によくある間違いを修正します。セットアップGUIは、ベストプラクティスの構成を案内します。

クエリストア

SQL Server MVPおよびチューナーの中でお気に入り。この機能は、エンジンがクエリを実行する方法についての洞察を提供するツールです。時間の経過に伴うクエリプランの変更によって引き起こされるパフォーマンスの問題を追跡するのに特に役立ちます。これは表示するツールであるだけでなく、修正するツールでもあります。いくつかのパフォーマンスチューニングの概念を簡素化するのに役立ちます。詳細については、こちらご覧ください

時間表

私はしばしば「このようなデータやそのような日付でこのデータはどのように見えたのか」といった質問をする必要があると感じています。テンポラルテーブルは、そのための1つの方法です。確かにいくつかの倉庫のユースケースがあります。詳細はこちらをご覧ください

列ストアの改善

ここで私にとって3つの大きな改善点があります。1つは、更新可能な非クラスター化列ストアインデックスです。SQL Server 2014は、クラスター化された更新可能なものを提供しましたが、現在、非公開の更新可能なものがあります。SQL Server 2016では、インメモリOLTPテーブルの列ストアインデックスも許可されます。また、従来のBツリー非クラスター化インデックスをクラスター化列ストアインデックスに配置する機能がSQL Server 2016に存在するようになりました。

インメモリOLTPの追加機能の改善

In-Memoryテーブル内またはネイティブにコンパイルされたプロシージャ内でサポートされていなかった機能のいくつかが利用可能になりました。いくつかの追加(ただし、詳細はこの記事を参照):UNIQUE Con​​straints、Check Constraints、DMLのOUTPUT節、外部結合、選択リストのサブクエリ、SELECT DISTINCT、UNION / UNION ALLなど。

一般的なパフォーマンスの改善

SQL Server 2014では、各リリースと同様に、いくつかの重要な領域でパフォーマンスが改善されました。SQL Server 2016では、製品全体で追加の主要な機能強化が行われました。これには、多くのお客様が、カーディナリティーエスティメータの変更によりSQL Server 2014にアップグレードするときに発生する可能性のある痛みの一部を取り除くことが含まれます。毎日のパフォーマンスを改善するために、エンジンの上下にいくつかの変更が行われました。MicrosoftのCSSチームは、ブログでこれについてブログを書いています。「SQL Server 2016の高速実行」を検索できます。このシリーズのブログ投稿の例はこちらです。

私はこれをアップグレードしたクライアントで見ましたが、ますます見られると期待しています。

いくつかの短所

アップグレードには明らかに欠点があります。コンサルタントとして生計を立てるためにこれを行うからかもしれませんが、短所はすべて信じられないほど管理しやすく、実際に「コストを最初に数える」項目を認識し、管理するだけだと考えています。

アップグレードで一般 -一般的なアップグレードでは、新しい機能が導入されている意味。それらをテストできる必要があります。SQL Serverのバージョン間では、さまざまな機能が廃止されています。これは、彼らがすぐに消えるという意味ではありませんが、将来のリリースでは、多くの場合3バージョン後にリリースできることを意味します。インスタンスTEXTデータ型、または外側を行うためとwhere句での結合*=または=*SQL Server 2000互換モードで実行されているデータベースを使用している場合、構文はサポートされません。互換性モードといえば、それらは3つのバージョンだけに戻ります。そのため、80(SQL Server 2000)または90(SQL Server 2005)互換モードで実行されているデータベースがある場合、そのようなSQL Server 2016に移行することはできません。そのため、そのテストの実行を避け、互換性レベルを忍び込んでいるのであれば、それは計算の時間です。

再び。それは簡単なことです。データをキャプチャしてテストし、どのブレークが発生しているかを確認するのに役立つツールがあります。非推奨の機能を探すのに役立つperfmonカウンターがあります。

ライセンス -2つのこと:

  1. コアベース-SQL Server 2012以前のライセンス条項に慣れている場合、CPUライセンスはそれだけでした-CPUライセンス。SQL Server 2012以降、CPUベースのライセンスはコアに基づいています。そのため、調整期間があります。また、エンタープライズ(最初にロールアウトしたときに2012年行われたいくつかの例外を除いて)新しいライセンスのための必須コアレベルでライセンスを取得します-サーバーなし+エンタープライズ向けCAL。ここでこのクラウド上の輝く銀色の裏地は、非エンタープライズSKUでエンタープライズ機能を許可するSP1について私が言ったことです。128GB以上のRAMが必要な場合。高度なスキャンのパフォーマンスの改善が必要な場合。列ストアまたはインメモリに32GBを超えるRAMが必要な場合は、エンタープライズを検討しています。そうしないと?また、オンラインでインデックスを再構築する必要はありませんか?標準はあなただけのものかもしれませんし、それらの機能が新たに利用可能になった今、あなたにとってもっと多くのものになるかもしれません。
  2. ソフトウェアアシュアランス(SA)-SAを購入しなかった場合、新しく購入する必要があります。したがって、SQL Server 2005を実行していて、メインストリームサポートが終了し、拡張サポートの終了からそれほど遠くないことを心配していて、機能を利用できるようにしたい場合は、Service Packのようにアップグレードすることはできません。SAを購入したことがない場合、アップグレードは新規購入です。大丈夫、それは本当に価値があります。しかし、それは予算に達しなければならないものです。

概要

JSONサポート、Rの導入など、さらに多くの理由があります。しかし、これらはアップグレードを検討する理由の一部にすぎません。繰り返しになりますが、最も重要な項目は、以前はEnterprise Editionのみの多くの機能をStandardまたはExpressで使用できることです。私はクライアントの間で素晴らしいサクセスストーリーを見てきましたが、もっと多くのことを期待しています。

また、SQL Server 2005または2008を使用している場合、リストはさらに大きくなります。AlwaysOn可用性グループは2012年に登場し、SQL Server 2012の列ストアインデックス、SQL Server 2014のインメモリOLTPなどが登場しました。

まだSQL Server 2005または2008を使用している場合は言うまでもありませんが、メインストリームサポートは終了しています。


2
このすべて+実際のビジネス上の理由-最長のライフサイクル。まだSQL2000を使用しているユーザーは、ウィンドウをアップグレードできず、古いウィンドウは新しいサーバーにインストールされず、この問題はすべて1つずつ増大します。ビジネス向け
-JSON
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.