SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Archive for the ‘SQL Server’ tag

SQL Database で一般ユーザーで個別のプランキャッシュのクリア

leave a comment

SQL Server ベースの環境で、プランキャッシュをクリアする場合、次のような構文を使用します。

SQL Database の場合は、DBCC ステートメントが使用できませんので、「ALTER DATABASE」でプランキャッシュのクリアが必要となります。

最近の更新で 「ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE」に、プランハンドルが指定できるようになりましたので、個別のプランのクリアも可能です。

ALTER DATABASE による、プランキャッシュのクリアですが、「データベースの CONTROL 権限」が必要となります。

CONTROL 権限 は、強めの権限となり、一般のユーザーに付与するには高すぎる権限です。

ALTER DATABASE CONFIGURATION だけで大丈夫でした orz
(CONTROL は上記の権限を付与するのに必要なだけでした)

プランキャッシュのクリアが必要なケースとしては

  • プランのリコンパイルが発生し、実行プランが望ましくない場合に、再コンパイル対象としたい

ケースが考えられます。

このようなケースのプランキャッシュのクリアについては、管理者権限を持っていないユーザーでも実施したいケースがあるのではないでしょうか。

本投稿では、そのようなケースが発生した場合の実現方法をまとめてみたいかと。

Read the rest of this entry »

Written by masayuki.ozawa

5月 11th, 2019 at 1:54 pm

SQL Server のプロトコルのドキュメント

leave a comment

SQL Server とデータの送受信を行う際には「TDS」(Tabular Data Stream Protocol) が使用されていまs。

接続からクエリを実行するまでの流れってどうだったけと思った時には、プロトコルのドキュメントから詳細を確認することができます。

接続までの流れについては、How it works: SQL Serverの接続編 もとても参考になります。

Read the rest of this entry »

Written by masayuki.ozawa

5月 10th, 2019 at 8:06 am

Posted in SQL Server

Tagged with

Build 2019 であとで確認するセッションリスト

leave a comment

SQL Server / SQL Database

 

    • Build 2019 で GA / Preview が発表された Azure Data Platform の機能についてのセッション
      • スライドしか見ていないのですが、それぞれデモもあるようです。
    • Azure SQL Database Hyperscale の GA
    • Azure SQL Database Serverless の Preview 開始
    • Azure SQL Database Edge の Preview 開始
    • Azure Database for PostgreSQL Hyperscale (Citus) の Preview 開始
    • Azure Cosmos DB の Spark / Jupyter Notebook / Cosmos DB API for etcd
    • Azure Data Factory の Mapping Data Flows / Wrangling Data Flows のアナウンス

 

 

    • Build 2019 で発表された「Azure SQL Database Edge」についてセッション
    • 軽量なフットプリント / ターンキー / ML に対応したデータベースエンジンをエッジに接続または、オフラインで実行することができる
      • SQL Server / Azure SQL Database はデータセンター / クラウドで動作するミッションクリティカルなワークロードに対応した、完全な AI / ML 機能を持つ業界をリードするデータベースエンジンとしての役割
      • Azure SQL Database Edge は SQL Server のエンジンを持つため、SQL Server を様々な場所 (として、エッジ / データセンター/ クラウド) でネイティブに動作する一貫性のあるデータ / 分析エンジンとして利用できる
    • エッジでの新しい分析 / データ移動 / 管理機能を持つ
    • 複数のデバイス間にローカルのデータストレージを提供することで、既存の Azure IoT Edge サービスの補完を行う
    • Azure SQL Databas Edge の特徴
      • ARM64 / x64 で動作する 500MB 未満の軽量なフットプリント
      • 時系列処理をビルトインし、SQL と時系列データのストリーミングによる分析が可能
      • R / Python / Java / Spark による AI をビルトイン
        • ML Services + Big Data Cluster の Spark (MSSQL Spark Connector??) のイメージかも
        • AI アイコンが Spark SQL になっているのも少し気になる
      • ターンキー管理による、単一の管理プレーンによる展開と管理
      • SQL Server をベースとしているため、高いパフォーマンスとセキュリティ
    • オンプレ / クラウドの SQL Server 等との連携もできるらしい (エンジンが、SQL Server だからリンクサーバー等が貼れる??)
      • 大量のセンサーデータをエッジで前処理して、クラウドに同期 / 集計することでネットワークの帯域を最適化
      • Azure ML / Azure Analysis Services を用いたデータ活用
    • ThinkSystem S350 Edge Server のような、エッジデバイスがある

 

 

    • Big Data Cluster についてのセッション
    • Big Data Cluser を使用して ML Service を使用したデモ
      • ML for Java 経由で Luis と通信するデモ
    • DataOps
      • 堅牢性と信頼性
        • アプリケーションを簡単にスケールアウトできる
        • セルフヒーリング機能により、高可用性を実現
        • データと同じインフラストラクチャに導入することで、アプリケーションのパフォーマンスを最適化
      • 柔軟性
        • データアプリケーションと機械学習のワークロードを効率的に導入、実行、および管理
        • 組み込みの監視機能により、アプリケーションの管理が容易
      • 統合が容易
        • RESTFul Web サービスを使用して、アプリケーションを素早く統合できる
        • アプリケーションをオンデマンドまたは、スケジュールで実行することにより、信頼性が向上

 

 

 

    • Azure SQL Databas Hyperscale についてのセッション
    • Hyperscale の Primary / Readable secondary / Page server / Log service / Write IO / Read IO  Restore についての基本アーキテクチャについての説明
    • 既存の SQL Database Single DB を Hyperscale に変更することもできるが、 Hyperscale → Single Database への移行はできないので注意

 

 

Managed Instance

 

    • SQL Server 2008 / 2008 R2 のサポート終了の紹介から入る Managed Instance のセッション
    • Managed Instance の今後のロードマップについての説明あり
      • Q1
        • Australia Central 1, 2 / West India リージョンでの利用
        • Arm Template による Geo Restore
      • Q2
        • Instance Level Collation / Custom Time zone の GA
        • インターネットと Azure DNS の依存関係の削除
        • データトラフィックのパブリックエンドポイント
        • 構成可能な接続ポリシー (Proxy / Redirect)
        • ジオリストア
        • 削除した DB の PITR
        • Azure ポータルからの DB 作成
        • 4 vCore モデル / MSDN サブスクリプションでの利用可能
        • Brazil South / South Africa リージョンでの利用
    • SQL Server 環境のクラウドへの移行パターン
    • Migration の情報

 

SQL Data Warehouse

 

    • Azure Data Factory をメインにしたセッション
    • 新しく発表された、MAPPING DATAFLOW / WRANGLING DATAFLOW についても触れられている
    • ADF の今後のロードマップ
      • アクティビティの追加 (Azure Function / Email / バリデーション / Webhook / アーカイブ)
      • トリガーの追加 (スケジュールロールアップトリガー / 依存関係トリガー/連鎖トリガー)
      • チェックポイントサポートによるコピーの再実行
      • 単一の大きなテーブルに対して並列ロード
      • SSIS の利用可能リージョンと VM の選択肢の増加
      • 2019 : ストリーミングパイプライン / データカタログ統合
      • 2020 : マスターデータ管理
    • SSIS ランタイムの今後のロードマップについても触れられている

 

 

Migration

 

    • Azure のマイグレーションについてのセッション
    • Database だけでなくアプリケーションの移行についても触れられている
    • Database については、DMS と Migration Guide の紹介

 

 

    • Azure Database Migration Service についてのシアターセッション
      • DMS を使用して SQL Server から、MI にオンライン移行をするデモ
    • SQL Server から、Managed Instance に移行する場合「SSIS パッケージ移行」というプレビュー機能が追加された。

 

Data Analyze

 

 

 

Azure Data Studio

 

Written by masayuki.ozawa

5月 7th, 2019 at 10:56 pm

Build 2019 の SQL Server 関連の情報について

one comment

 

Get high-performance scaling for your Azure database workloads with Hyperscale から

Hyperscale

Azure SQL Database Hyperscale support for single databases is now available

SQL Database の Hyperscale が GA したようです。

あたらしく、PostgreSQL の Hyperscale が Preview として提供されています。
Quickstart: Create an Azure Database for PostgreSQL – Hyperscale (Citus) (preview) in the Azure portal
Citus が使用されているようですね。

SQL Database Serverless

他には、「Azure SQL Database Serverless」も発表されました。
ウォームアップによる遅延が許容されるのであれば、秒単位課金でコストを抑えることができる新しいモデルとなるようです。
オートスケーリング / オートレジュームといった、今までとは異なる概念がいくつか入っているようですね。

性能面は Serverless compute tier から確認できます。

 

Analytics in Azure remains unmatched with new innovations から

ADF

ADF に Wrangling Data Flows という、新機能が実装されるようです。

SQL Data Warehouse

SQL DW に半構造化データのサポートが行われるようで、JSON のようなデータ形式を SQL DW から直接アクセスできるようになるようです。
他にも、結果セットのキャッシュによる、同一クエリの実行結果を後続のユーザーがすぐに利用できる仕組みと、マテリアライズド・ビューによるパフォーマンス向上も実行できるようですね。

Azure updates から

Written by masayuki.ozawa

5月 7th, 2019 at 1:07 am

SQL Server 2019 の PolyBase とリンクサーバーの違いについて

leave a comment

SQL Server 2019 では PolyBase の機能が進化し「データ仮想化」が一つのキーワードとなっています。

PolyBase は、SQL Server 2016 から実装された機能だったはずですが、SQL Server 2016 / 2017 では、Hadoop と Azure BLOB Storage の接続のみをサポートしており、オブジェクトストレージ上のデータに対してクエリを実行するための機能としての利用でした。

SQL Server 2019 になり、オブジェクトストレージの他に「ODBC 汎用コネクタ」がサポートされるようになり、アクセスできるデータソースが大幅に増加しました。

標準で、SQL Server / Oracle / Teradata / MongoDB へのアクセスもできるようになっているのですが、これらについては、「標準で導入されている ODBC ドライバー」となっており、実装については ODBC と同様です。

SQL Server 2019 のセミナーを毎月実施させていただいている中で「PolyBase とリンクサーバーの違い」について質問されることがあります。

これらの違いについては、次のドキュメントで解説が行われています。

Read the rest of this entry »

Written by masayuki.ozawa

5月 6th, 2019 at 7:40 pm

Posted in SQL Server

Tagged with ,

Build 2019 開始前に GW 中の SQL Server 関連の話題をキャッチアップしてみる

leave a comment

GW 中は de:code 2019 のセッション準備などを進めており、あまり情報のキャッチアップをできていなかったのですが、最終日ぐらいは、SQL Server / SQL Database 関連の最新情報を眺めてみようかと。

Read the rest of this entry »

Written by masayuki.ozawa

5月 6th, 2019 at 5:09 pm

SQL Server 2019 CTP 2.5 と SSMS 18.0 GA が公開されました。

leave a comment

SQL Server 2019 CTP 2.5 と SSMS 18.0 が公開されました。
SSMS 18.0 は今回のタイミングで GA となり、正式版です。

Build 2019 で新しい CTP 出るのかなと思っていたのですが、4 月内に新しい Preview 出てきましたね。
Build では新しい発表あるのでしょうか??

公式のアナウンスとしては以下になります。

Read the rest of this entry »

Written by masayuki.ozawa

4月 25th, 2019 at 11:49 pm

Posted in SQL Server

Tagged with ,

SQL Server のログイン / ユーザーの権限を SSMS を使用しながら確認してみる

leave a comment

SQL Server の権限設定ですが、基本的な考え方は プリンシパル (データベース エンジン) に記載されている内容となります。

権限としては、次の二種類に分けられます。

  • ログイン : インスタンスレベルでの操作権限
  • ユーザー : データベースレベルでの操作権限

「ログイン」と「ユーザー」という複数のプリンシパルに分かれているため、理解しづらい構成になっているのですが、SSMS を使用しながらであればわかりやすいかなと思いましたので軽くまとめてみようかと。

Read the rest of this entry »

Written by masayuki.ozawa

4月 23rd, 2019 at 11:34 pm

Posted in SQL Server

Tagged with

互換性レベル 130 以降をサポートしている環境のダウンレベルの互換性レベルと統計情報の更新について

leave a comment

SQL Server の統計情報の更新タイミングというと「データ量の 20% が更新された場合」に自動更新の対象となるというのが一般的に知られている内容ではないでしょうか。

これについては 統計 に記載されています。

SQL Server 2014 (12.x) まで、SQL Server は変更された行の割合に基づくしきい値を使用します。 これには、テーブル内の行数は考慮されません。 しきい値は次のようになります。

  • 統計情報が評価された時点でテーブルのカーディナリティが 500 以下の場合、500 回変更されるたびに更新されます。
  • 統計情報が評価された時点でテーブルのカーディナリティが 500 よりも大きい場合、500 プラス 20% の数の変更があるたびに更新されます。

Read the rest of this entry »

Written by masayuki.ozawa

4月 14th, 2019 at 8:52 pm

SQL Server 2019 CTP 2.4 時代のクエリプロファイリング

leave a comment

SQL Server は製品のバージョンアップや更新プログラムによってクエリ情報を取得するための「クエリプロファイリング」の機能が向上しています。

クエリ プロファイリング インフラストラクチャ というドキュメントで、詳細はまとめられているのですが、自分の言葉で書く機会が少なかったのと、SQL Server 2019 CTP 2.4 でも取得できる情報が増えていますので、この機会にまとめておこうと思います。

Read the rest of this entry »

Written by masayuki.ozawa

4月 4th, 2019 at 10:45 pm

Posted in SQL Server

Tagged with ,