SQLServer2017の新しいポイント
SQL Server 2017は、2017年10月に正式にリリースされました。SQLServer2017の最初の部分は、2016年末からリリースされており、2017年末現在で10回リリースされています。
SQL Server 2017バージョンは主にLinuxに接続されており、SQLのパワーをLinuxにもたらします。つまり、LinuxベースのDockerコンテナでSQL Server 2017を使用して、LinuxにSQLServer2017をインストールできます。 SQL Server 2017では、開発言語を選択し、オンプレミスまたはクラウドベースで開発することもできます。
このバージョンでは、SQL Server 2017は、データベースエンジン、統合サービス、マスターデータサービス、Analysis Servicesなどの各部分のパフォーマンス、スケーラビリティ、および機能も向上させます。この記事の内容部分的に見ていきます。
SQLServer2017の新機能
- データベースエンジンの新機能
- identity_cache
- 改善された適応クエリ処理
- 自動チューニング
- グラフDBの新機能
- グラフDBとは何ですか?
- 常に利用可能(クロスデータアクセス)
- DTAの改善
- 新しい文字列関数
- 翻訳
- CONCATE_WS
- トリム
- STRING_AGG
- SQL 2017のSSRS(レポーティングサービス)の新機能
- SQL 2017のSSIS(統合サービス)の新機能
- SQL2017のAnalysisServices(SSAS)の新機能
- 機械学習
- Linuxのサポート
Identity_cache
このオプションは、サーバーが突然シャットダウンしたり、フェイルオーバーを実行したり、セカンダリサーバーに切り替えたりした場合に、ID列の値の偏差を回避するのに役立ちます。これは、ALTER DATABASE SCOPED CONFIGURATIONコマンドとともに使用され、データベース構成設定を有効にします。構文は次のとおりです。
ALTER DATABASE SCOPED CONFIGURATION { { [ FOR SECONDARY] SET } } | CLEAR PROCEDURE_CACHE | SET < set_options > [;] < set_options > ::= { MAXDOP = { | PRIMARY } | LEGACY_CARDINALITY_ESTIMATION = { ON | OFF | PRIMARY } | PARAMETER_SNIFFING = { ON | OFF | PRIMARY } | QUERY_OPTIMIZER_HOTFIXES = { ON | OFF | PRIMARY } | IDENTITY_CACHE = { ON | OFF } }
改善された適応クエリ処理
クエリのパフォーマンスを向上させたい場合は、この新機能が非常に役立ちます。 SQLServerおよびAzureSQLデータベースでサポートされています。
これは、SQLクエリを実行するときの通常の最適化プロセスです:
- 最初に、クエリオプティマイザは、作成されたばかりのクエリに対して可能なすべてのクエリ実行プランを計算します。
- 次に、最良/最速の計画が表示されます。
- 最後に、クエリを実行するために推定された最適な計画が選択され、実行プロセスが開始されます。
上記のプロセスには、次の欠点があります。
- 間違った計画の見積もりが最善の場合、パフォーマンスに影響します。
- 最適な計画を実行するために十分なメモリが割り当てられていない場合、メモリオーバーフローエラーが発生します。
これらの欠点を克服するためにSQLServer2017に含まれている機能は次のとおりです。
バッチモードのメモリ付与フィードバック(バッチモードのメモリ割り当てに関するフィードバック):このフィードバックは、プランの実行に必要なメモリを再計算し、キャッシュからメモリを割り当てます。
バッチモード適応結合(バッチモードに適応する結合):結合には、ハッシュとネストされたループの2種類があります。実行プランエントリを初めて入力してスキャンすると、最適な速度で出力を取得するために適用する結合タイプが決定されます。
インターリーブ実行:最適なプランの実行中、この機能は、マルチステーションテーブル値関数に遭遇すると「一時停止」して完全な要素のみを計算します。この表の要素を選択してから、引き続き最適化してください。
自動チューニング
この機能は、クエリパフォーマンスの問題を調査し、それらを特定して、提案されたソリューションで修正します。この機能で利用できるオートマチックチューニングテクニックは次のとおりです。
自動修正(プラン):この手法はSQL 2017データベースで使用でき、指定されたクエリプランでパフォーマンスの問題を検出し、提案されたソリューションで修正します。
自動管理(インデックス):この手法はSQL 2017 Azure DBに含まれており、非標準のインデックスを削除して正しいインデックスを追加することで、インデックスの順序を識別して修正しますインデックス。
グラフDBとは何ですか?
基本的に、グラフDBはノードとエッジのセットであり、エッジはノード間の関係を表し、ノードはエンティティであり、エッジは多くのノードに接続できます。グラフDBはリレーショナルデータベースのように機能し、次の場合に使用できます。
- 階層形式のデータベースがあり、ノードの複数の親を保存したい場合。
- リンクとデータの関係を確認および分析する必要がある場合。
- 多くの関係(関係)がある場合。
ここでは、MATCHキーワードを使用して、グラフテーブルをクエリし、データを並べ替えます。単一のクエリを使用して、ユーザーはグラフとリレーショナルデータをクエリできます。
常に利用可能(クロスデータアクセス)
この機能を使用すると、異なるSQLインスタンス(他のインスタンスインスタンスに接続できるSQLインスタンス)間でデータベースを相互交換できるようになりました。また、分散データベースの交換。[SQL2016はデータベース間アクセスもサポートしていますが、同じSQLServer内のインスタンス間でのみサポートされています。]
DTAの改善
SQL 2017では、データベースチューニングアドバイザ(DTA)のパフォーマンスが向上しました。具体的には、DTAのオプションが追加されました。
DTAが何であるかわからない場合は、次のようにします。
DTAは、クエリ処理(処理済み)を実行し、データベース構造を変更するなどしてパフォーマンスを向上させる方法を提供するデータベースツールです。データ(インデックス、ロックなど)。DTAは次の2つの方法で使用できます。
- GUI(インターフェース)の使用
- コマンドユーティリティを使用する
新しい文字列関数
SQL 2017は、ユーザーに TRANSLATE、CONCAT_WS、STRING_AGG、TRIMなどの新しい文字列関数を提供します。 。各機能を1つずつ見ていきましょう。
基本的に、この関数は文字 stringを取ります 入力データとして、これらの文字をいくつかの新しい文字に変換します。以下の構文を参照してください。
TRANSLATE (inputString, characters, translations)
上記の構文では、「文字」の長さは「翻訳」と同じである必要があります。そうでない場合、関数はエラー値を返します。例:
TRANSLATE ( '6 * {10 + 10} / [6-4]' , '[] {}' , '() ()' )
上記の例で返される結果は 6 *(10 + 10)/(6-4)になります。 中括弧と括弧が丸括弧に変換されていることがわかります。
この関数はREPLACE関数と同じメカニズムですが、REPLACE関数を置き換える方が簡単です。たとえば、上記のように結果を返したいが、 REPLACE関数の場合、次の関数を作成する必要があります。一見しただけではわかりません。
SELECT REPLACE (REPLACE (REPLACE (REPLACE ( '6 * {10 + 10} / [6-4]' , '{' , '(' ), '}' , ')' ), '[' , '(' ), ']' , ')' );
CONCATE_WS
この関数の機能は、すべての入力引数を指定された区切り文字で連結することです。以下の構文を参照してください。
CONCAT_WS (separator, argument1, argument1 [, argumentN] .)
この関数は、区切り文字を使用してすべての引数を連結することにより単一の文字列を作成するため、出力を生成するには少なくとも2つの引数が必要です。そうでない場合、結果はエラーになります。例:
SELECTCONCAT_WS('、'、'Count numers'、'one'、'two'、'three'、'four')AScounter;
上記のコマンドによって返される結果は次のようになります: 1、2、3、4
暗号化された文字列の代わりにデータベースの列名を使用することもできます。
トリム
最後に、この関数はSQL 2017にも登場しました。基本的にはC#のトリム関数のように機能します。つまり、文字列の最初と最後の余分なスペースをすべて削除します。構文は次のとおりです。
SELECT TRIM ( 'trim me' ) AS result;
上記のコマンドによって返される結果は次のようになります:トリムしてください
この関数は、文字列の途中のスペースを削除しません。
STRING_AGG
この関数は、文字列の最後に区切り文字を追加せずに、区切り文字を使用して文字列の値を連結します。入力データはVARCHAR、NVARCHARにすることができ、オプションで可能です。 WITHINGROUP句を使用して結果の表示順序を指定します。
以下の構文を参照してください:
STRING_AGG (expression, separator) []
:: =
WITHIN GROUP ( ORDER BY [ ASC | DESC ])
次の例を参照してください:
SELECT city,
STRING_AGG (name, ';' ) WITHIN GROUP ( ORDER BY name ASC ) AS names
FROM Students GROUP BY city;
上記の例では、すべての名前がペアになっており、セミコロン(;)で区切られています。WITHINGROUP句は、順番に並べ替えるのに役立ちます。返される結果は次のように表示されます。次のとおりです:
SQL 2017のSSRS(レポートサービス)の新機能
- 今後、SSRSのセットアップはSQL Server設定で使用できなくなります。ダウンロードストア[ここ]から、SSRSをダウンロードする必要があります。
- 今後、クエリデザイナはDAXをサポートします。ネイティブDAXクエリは、SSAS(分析サービス)を防ぐために作成できます。この機能は、SQLツールとレポートビルダーの最新の更新プログラムに表示されます。
- OpenAPIコマンドはRESTfulAPIでサポートされており、RESTfulAPIはSSRSでサポートされるようになりました。
- 今後、コメントにさらにファイルを添付できます。
- レポートにコメントを追加することもできます。
- レポートサービスポータルが大幅にアップグレードされました(この機能はSQL 2016で使用できます)。
SQL 2017のSSIS(統合サービス)の新機能
これからは、LinuxでSSISを実行し、ボリュームを増やし、Linuxで直接データを抽出および変換できます。
スケーリング機能により、多くの高性能マシンを備えた複雑な統合システムが可能になります。スケーリング機能は、スケールアウトマスターとスケールアウトワーカーの助けを借りてすべての操作を実行できます。
SQL2017のAnalysisServices(SSAS)の新機能
- GetDataの新しいインターフェイスはMSExcelと同様にSQL2017でリリースされ、Power BIです。データ変換とデータマッシュアップ機能に加えて、クエリジェネレーターとM式を使用してそれを行うことができます。
- SSASの表形式モード(SQL 2012で導入された帝国)は、SQL2017で大幅にアップグレードされました。
- SQL 2017は、大容量メモリ内のテーブルデータを最適化するために使用される新しいエンコーディングヒントを提供します。
- PIVOTのパフォーマンスを向上させます。
機械学習
SQL 2016は現在Rサービスをサポートしていることは誰もが知っています。今後、このサービスの名前はSQLServer機械学習サービスに変更されます。この変更によるメリットは次のとおりです。 SQLServerでRまたはPythonコマンドのシステムを簡単に使用できます。
この新機能を使用すると、Pythonをストアドプロシージャで実行できます。SQLServerを介してリモートでコマンドを実行することもできます。これは、Python開発者にとって非常に便利です。ただし、この機能は現在、機能していません。 Linuxではまだサポートされていますが、次のアップグレードをお待ちください。
機械学習をより効率的かつ最適な方法で使用するために、SQLは次のソリューションを使用します。
- revoscalepy は、高性能アルゴリズム、計算、およびリモートシチュエーションの基盤として機能する新しいタイプのライブラリです。基本的にrevoscalepyは RevoScaleRプラットフォーム(Rサービスパック)に基づいています。
- microsoftml Microsoft R 機械語アルゴリズムをサポートするサーバークラスターであるMicrosoftは、機械学習用のこのライブラリを社内で開発しましたが、長年にわたって改善され、現在ではmicrosoftmlは高速データ転送や大きなドキュメントの変換などをサポートしています。
Linuxサポート
基本的に、「LinuxおよびWindows上のSQL 2017」という名前から、このアップグレードの主な目的はLinuxプラットフォームでの製品のリリースをサポートすることであることがわかります。 「Linux上のSQL」のいくつかの重要な機能:
- コアデータベースを保存する機能
- IPV6をサポート
- NFSサポート
- LinuxでADを確認する
- 暗号化をサポート
- LinuxにSSISをインストールできます
- MSSQL-confコマンドツールが利用可能です
- インストールプロセスをシームレス化して自由化する
- SQL for Visual Studioコア(VSコアはLinuxで利用可能)
- クロスプラットフォームスクリプトジェネレーター
概要
SQL Serverについては、さらに多くのことを話し、学ぶことができます。次のセクションでこの旅を続けます。コメントや質問をすることを躊躇しないでください!
>もっと見る:
- WindowsでLinuxソフトウェアを実行する7つの方法
- WindowsとLinuxの8つの主な違い
- MSSQLServerでデータベースにログインする方法
- MSSQLServerでサービスを開始および停止する方法
-
SQLServer2017を段階的にインストールする手順
SQL Server 2017には、インストールプロセスに新機能が含まれています。 RおよびPython用の機械学習サービスをサポートするようになりました。また、SSISスケールアウトマスターとスケールアウトワーカーも含まれています。 PolyBaseの拡張オプションも含まれています。 この記事では、SQLServerをインストールする方法を段階的に説明します。 開始 SQL Server 2017インストーラーは次の場所からダウンロードできます: https://www.microsoft.com/en-us/sql-server/sql-server-downloads-無料トライアル
-
SQLServer2017の新機能
より新しいバージョンのSQLServerへのアップグレードを検討していますか? SQLServer2016とSQLServer2017のどちらを選択していますか?もしそうなら、この投稿で説明しているように、SQLServer2017にアップグレードすることをお勧めします。 SQL Serverテクノロジのリリースにより、SQL管理者と開発者が熟考するための興味深い新機能が多数提供されます。 SQL Server vNext(一般にSQL Server 2017と呼ばれます)用のCommunity TechnologyPreview(CTP)2.0も例外ではありません。多くの更新が、アプリケー