Azure AQL Database の新しい T-SQL 関数

2017年3月1日 [New T-SQL string functions in Azure SQL Database] 粗訳

Azure SQL Database で、新しい集計関数と文字列関数が利用できます:

  • STRING_AGG() 集計 、特定のセパレーターを使って、テーブルからの連続した値を集計する。以下は、従業員の、カンマで区切られた電話番号とセミコロンで区切られたメールアドレスを返すクエリーの例です:

SELECT DepartmentName, STRING_AGG ( Phone, ',' ) as Phones,

STRING_AGG ( EmailAddress, ';' ) WITHIN GROUP (ORDER BY EmailAddress) as Emails
FROM Employee
GROUP BY DepartmentName

追加の WITHIN GROUP 句を使用して、連結前に値をソートできることに注意してください。この例では、メールアドレスがアルファベット順にソートされています。

  • TRIM() 関数、文字列の両サイドから任意の文字を削除。以下の例では、最初の列でトリミングされている記事の説明を返します。2番目の列で、ドット、カンマ、セミコロンがトリミングされます:

SELECT TRIM (Description), TRIM( '.,!' FROM Description)
FROM Article

  • CONCAT_WS() 関数、最初のパラメータとして定義されたセパレーターを使用して、値を連結します。以下のクエリーは、アドレス部分をカンマで区切って、顧客名と住所を返します。:

SELECT Name, CONCAT_WS ( ',', AddressLine1, AddressLine2, Town, Region, Country, ZipCode) as FullAddress
FROM Customers

すべての新しい関数は、ネイティブコンパイルされたストアドプロシージャ、関数、トリガーでも使用できます。

パブリックプレビュー:SQL Database 向け、インタラクティブなクエリーインターフェース

2017年1月19日 [Public preview: Interactive query experience for SQL databases] 粗訳

Azure ポータル内に、SQL Database 向けの軽量な T-SQL エディタが追加されました。お使いのデータベースのコンテキストに、、直接、インタラクティブにクエリーを実行できます。クエリーの実行に、クライアントマシンのポートをあけたり、クライアントツールをインストールしたりする必要はありません。快適にこのエディタをご利用いただけます:

  • リアルタイムワークロードのインサイト向け、動的管理ビューのクエリー
  • アドホッククエリーの発行
  • ユーザー認証などの管理

エディタをご利用になるには、SQL Database へ移動し、ツールボタンを選択し、その後、クエリーボタンを選択してください。

パブリックプレビュー:クラスター化列ストアインデックスでの、文字列、および、バイナリー列

2017年1月4日 [Public preview: String and binary columns in clustered columnstore indexes] 粗訳

サイズ無制限の文字列、および、バイナリー列が、Azure SQL Database (Premium レベル)で、クラスター化列ストアインデックスで利用できるようになりました。クラスター化列ストアインデックスは、NVARCHAR(MAX), VARCHAR(MAX), and VARBINARY(MAX) など、大きな文字列型、もしくは、バイナリータイプを持つテーブルで作成できます。

以下のコードは、テーブル上に作成されたクラスター化列ストアインデックスをもつ NVARCHAR(MAX) 列を含むテーブルの例を示しています:

CREATE TABLE Logs (
    DateLogged datetime2,
    Type varchar(20),
    Data NVARCHAR(MAX),
    INDEX cci CLUSTERED COLUMNSTORE
)

クラスター化列インデックスは、文字列やバイナリー列の高いデータ圧縮率(最大10倍)を提供します。

パブリックプレビュー:新しい T-SQL 言語機能

2016年12月28日 [Public preview: New T-SQL language features] 粗訳

新しいT-SQL言語機能は、Azure SQL Database Premium でメモリ最適化テーブルおよびネイティブコンパイル済みストアドプロシージャがしようできりょうになりました。以下の機能が追加されています:

  • メモリ最適化テーブルに、計算列を追加できます。計算列にはネイティブコンパイルモジュールでサポートされている式を含められます。
  • 永続化された計算列にメモリ最適化されたインデックスを追加できます。
  • ネイティブコンパイルモジュールは、新しい TーSQL 演算子、および、関数をサポートしています:
    • すべての JSON 関数が、ネイティブコンパイルモジュールで利用可能です。
    • CROSS APPLY 演算子がネイティブコンパイルモジュールで利用可能です。

計算式と CROSS APPLY 演算子は、従来のテーブルとストアドプロシージャで、以前より利用可能な機能で、今回、ネイティブコンパイルモジュールでも利用可能になりました。 JSON  関数を利用するには、Azure SQL Database の JSON 機能をご確認ください。ジュライのテーブルやストラ土プロシージャで利用可能な、同一の JSON 機能をメモリ最適化されたテーブルやネイティブコンパイルモジュールで利用可能です。

パブリックプレビュー:Azure SQL Database にて新しい日本語参照順序が利用可能に

2016年12月28日 [Public preview: New Japanese collations are available in Azure SQL Database] 粗訳

日本のマーケット向けに、新しい参照順序が Azure SQL Database で利用可能になりました。新しい日本語の参照順序では、日本向けにアプリケーション構築している開発者が、最新の日本語の言語ルールを使用して、日本語文字列の並べ替えやフィルター操作を実装できます。新しい参照順序の名前は、XJIS_140 か、Japanese_Bush_Kakusu_140 が接頭辞となっています。

以下は、いくつかの列で新しい日本語参照順が利用された SQL テーブルの例となります:

DROP TABLE IF EXISTS dbo.People
GO
CREATE TABLE dbo.People(
    id int primary key identity,

    name nvarchar(50) collate Japanese_XJIS_140_CI_AI_KS,
    surname nvarchar(50) collate Japanese_XJIS_140_CI_AI_WS,
    address nvarchar(200),
    town nvarchar(50) collate Japanese_Bushu_Kakusu_140_CS_AS_VSS

)

新しい日本語参照順は、日本語で使用される表意変動セレクタ(IVS)の認識をサポートします。バリエーションセレクタを持つテキストを比較するときに、新しい比較ルールでバリエーションセレクタを使用するか無視するかを開発者が選択できるようにする追加のフラグ(VSS  – バリエーションセレクタの感度)があります。

Azure SQL Database にて、クエリストアの設定が標準でオンに

2016年12月7日 [Query Store is turned on by default for Azure SQL Database] 粗訳

現在から、Elastic データベースプールを含む、Azure SQL Database 内の、新規・既存データベースをとわず、全てのデータベースのクエリストアが標準設定でオンになります。

クエリストアは、データベースに関する「フライトレコーダー」として機能し、クエリに関する重要な情報を継続的に収集します。あらかじめ収集された関連データは、必要な時に、遅延なく利用できるため、パフォーマンスインシデントの解決時間を大幅に短縮できます。

クエリストアは、SQL Database AdvisorSQL Database Query Performance Insight などのパフォーマンス監視、および、ッチューニング機能のベースも提供します。Azure SQL Database サービス全体で、クエリストアを有効にすると、すべてのユーザーは、SQL Database Advisor を介して利用可能なインテリジェントチューニングの推奨事項を利用できます。

クエリストアの利用を開始するには、Query Store: A flight data recorder for your database (英語)、および、 Monitoring Performance By Using the Query Store (英語)をご覧ください。

一般提供開始:Azure SQL Database Premium でのインメモリ OLTP

2016年11月9日 [General availability: In-Memory OLTP in Azure SQL Database Premium] 粗訳

Azure SQL Database Premium データベースで、トランザクション処理とデータ取得の場面で驚異パフォーマンス(最大30倍)得るために、アプリケーションの変更無し、もしくは、最小の変更で、インメモリ OLTP がご利用いただけます。メモリ最適化テーブル、メモリ最適化テーブル型、ネイティブコンパイル T-SQL モジュールが、Premium エラスティックプールのデータベースも含め、すべての Premium データベースで一般提供となりました。

次のシナリオで、インメモリ OLTP の利用を検討ください:

インメモリ OLTP のトランザクションプロセッシングの利点を補完するために、Azure SQL Database は、レポーティングや解析ワークロードのパフォーマンスを改善するカラムストアインデックスもサポートしています。

一般提供開始:Azure SQL Database でのテンポラルテーブル

2016年10月12日 [General availability: Temporal tables in Azure SQL Database] 粗訳

独自実装なしに、Azure SQL Database で、データ変更のすべての履歴を直接追跡するために、テンポラルテーブルを利用できるようになりました。テンポラルテーブルを使うと、過去の任意の時点のデータを参照でき、宣言型クリーンアップポリシーを利用し、過去のデータの保持を制御できます。

テンポラルテーブルを使うと:

  • アプリケーションでのデータ監査の実行
  • 傾向の分析、もしくは、時間のかかる異常の検出
  • 緩やかに変化する多角分析パターンの実装
  • 人的、もしくは、アプリケーションによるデータエラーの発生時に、行レベルの復旧の実行

利用を開始するには、システムバージョンのテンポラルテーブルを作成するか、既存のテーブルをテンポラルテーブルに拡張します。詳細については、Azure SQL Database のテンポラル テーブルの概要をご覧ください。

自動チューニングによる Azure SQL Database パフォーマンスに関する改良点

2016年9月29日 [Improved automatic tuning boosts Azure SQL Database performance] 粗訳

Azure SQL Database Advisor の主要な更新では、インデックスの推奨チューニングを実施する時間を大幅に削減されました。1日間、運用環境で、SQL Database を実行すると、Advisor が、パフォーマンスを改善するための、関連の推奨チューニング情報を提示します(また、自動チューニングを実行する設定の場合、そのチューニング情報が自動的に適用されます)。