SE の雑記

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

Archive for the ‘SQL Database’ Category

SQL Database のクエリのトレース方法について

leave a comment

SQL Database は SQL Server プロファイラで接続をすることができないため、SQL Server で使用する機会の多い、プロファイラを用いたクエリのトレースを実施することができません。

データベースエンジンの SQL Server プロファイラを使用したトレースに関しては、今後廃止される予定の機能となっているため、SQL Database 向けに提供されることはないと思います。

SQL Database のクエリのトレース方法については、拡張イベントで実施するのが一般的な方法になるかと。

SQL Database の拡張イベント

Read the rest of this entry »

Written by masayuki.ozawa

1月 21st, 2017 at 11:42 pm

Posted in SQL Database

Tagged with

SQL Data Warehouse で照合順序のサポートが強化されていたようです

leave a comment

今日、Stretch Database を設定していて気付いたのですが、SQL Data Warehoues で照合順序のサポートが強化されたようです。
# Stretch Database も裏は SQL Data Warehouse ですので。

Database collation support for Azure SQL Data Warehouse

How can we improve Microsoft Azure SQL Data Warehouse ? から始まった感じなのですかね。

リリース当初は「SQL_Latin1_General_CP1_CI_AS 」のみがサポートされていたかと思いますが、今の SQL DWH では、データベースの作成時に照合順序を指定できるようになっています。
image

作成時にのみ指定できる感じのようですね。
CREATE DATABASE (Azure SQL Data Warehouse)

GitHub のヘルプを見ていると、日本語版のヘルプについては、9/6 に照合順序の記載が行われたようですので、GA したタイミングあたりで変更が行われていたのかもしれないですね。

https://github.com/Microsoft/azure-docs.ja-jp/blob/eb07bb4e69244d8b736d7b94764d71d338d935e0/articles/sql-data-warehouse/sql-data-warehouse-get-started-provision.md

https://github.com/Microsoft/azure-docs.ja-jp/blob/0656663c06d30a66b4db797029d47cfb3e111ed2/articles/sql-data-warehouse/sql-data-warehouse-get-started-provision.md

この変更で、SQL Server 2016 の Stretch Database が適用できるデータベースの照合順序の制約も緩和されましたので、利用がはかどるのではないかと。

Written by masayuki.ozawa

11月 16th, 2016 at 10:24 pm

Posted in SQL Database

Tagged with

SQL Database で In-Memory OLTP が GA しました

leave a comment

General availability: In-Memory OLTP in Azure SQL Database Premium でアナウンスされていますが、SQL Database の In-Memory OLTP が GA したようです。

これについては Microsoft Azure SQL Database provides unparalleled performance with In-Memory technologies でもアナウンスされています。

PASS でアナウンスされていたタイミングより、早い GA なんですかね。

これで、Hybrid Transactional and Analytical Processing (HTAP) が SQL Database でも正式サービスとして使用できます。

詳細については Optimize Performance using In-Memory Technologies in SQL Database で確認ができますが、SQL Server 2016 相当の Operational Analytics が、SQL Database の Premium で利用できるようになった形でしょうか。

GA になって Elastic Pool でも In-Memory OLTP が使えるようになったようですね。

SQL Database options and performance: Understand what’s available in each service tier

Max in-memory OLTP storage (GB) per pool となっており、In-Memory OLTP ストレージの最大がプール単位決まっていますので、サイジングがちょっと悩ましいですが。

Written by masayuki.ozawa

11月 10th, 2016 at 11:11 pm

Posted in SQL Database

Tagged with

SQL Database の長期保有バックアップについて

leave a comment

先日 Azure SQL Database: Now supporting up to 10 years of Backup Retention (Public Preview) でアナウンスがされたのですが、あまり調べられていなかったので軽くまとめてみたいと思います。

Read the rest of this entry »

Written by masayuki.ozawa

11月 6th, 2016 at 10:01 pm

Posted in SQL Database

Tagged with

SQL Database v12 におけるロック競合の取得

leave a comment

気づいたら SQL Database v12 でも、blocked_process_report によるロック競合が発生したクエリの情報が取得できるようになっていました。

Read the rest of this entry »

Written by masayuki.ozawa

10月 23rd, 2016 at 9:57 pm

Posted in SQL Database

Tagged with

クエリストアによる、クエリタイムアウトしたクエリの取得

leave a comment

SQL Server 2016 / SQL Database v12 で使用できるクエリストアの機能では、正常終了したクエリだけでなく、異常終了したクエリについても情報が取得されています。

異常終了したクエリから、クエリタイムアウト (コマンドタイムアウト) したクエリの情報の取得について考えてみたいと思います。

クエリストアの情報については、かなり日本語化されたものが出てきていますので、クエリ ストアがデータを収集するしくみ を一読しておくとよいかと。

Read the rest of this entry »

Written by masayuki.ozawa

10月 23rd, 2016 at 8:25 pm

クエリストアから特定のクエリの情報を取得する

leave a comment

imageIgnite のセッションを見ていたところ、クエリストアの活用方法がいろいろと紹介されていて、実践的な方法がかなり勉強になりました。

SQL Server 2016 にアップグレードした際に、

  • クエリストアを有効にする
  • アップブレード前の互換性レベルで、テスト用のワークロードを実行
  • 互換性レベル 130 に変更
  • 再度、テスト用のワークロードを実行
  • 実行効率が低下したクエリを確認し、必要に応じて、プランの強制を実施

という手順を行い、アップグレード後のクエリの実行効率の低下を防止するという手法についてはなるほどと思いました。

クエリストアでは、実行効率が低下したクエリや、リソースの消費量の高いクエリについては、SSMS から取得することができます。

image

特定のクエリの状態を取得したい場合は「追跡したクエリ」を使用することになるかと思いますが、この取得では「クエリ ID」を指定して情報の取得を行う必要があります。

image

特定のクエリについての情報を見たい場合のクエリ ID の特定について、少し考えてみました。

Read the rest of this entry »

Written by masayuki.ozawa

10月 10th, 2016 at 12:06 am

Ignite 2016 の SQL Server のデータベースエンジン関連のセッション

leave a comment

Ignite 2016 のセッションですが、Microsoft Ignite On-Demand で動画が公開されてています。

とりあえず、SQL Server のデータベースエンジン関連のセッションを流し見しているのですが、エンジン回りで関連しそうなセッションの紹介を。

最近、英語が苦手なのが致命的に響いてきていて、ひさしになんとかしてもらわないと生きていくのがつらいです…。

スライドについても公開されていて、 Ignite 2016 Slidedeck and Video downloader で一括でダウンロードできるようです。

Read the rest of this entry »

Written by masayuki.ozawa

10月 2nd, 2016 at 11:58 pm

外部テーブルを使用している SQL Database のデータベースを SQL Server に移行する

leave a comment

SQL Database と SQL Server 間でデータベースを相互に移行する場合、bacpac を使用することがあるかと思います。
bacpac ですが、同一の環境 (SQL Database 間 / SQL Server 間) での移行は、特に問題はないのですが、異なる環境間で移行をする場合、SQL Database で外部テーブルを使用していると、移行できないケースがありますので紹介を。

Read the rest of this entry »

Written by masayuki.ozawa

9月 18th, 2016 at 10:27 pm

Posted in SQL Database

Tagged with

SQL Database v12 のデータベースのアクセス状況を取得する

leave a comment

SQL Database v12 のデータベースのアクセス状況の取得方法について軽く。

今回の投稿で書いているクエリは各 DB を選択している状態で実行する必要があります。
master データベースだと想定している値が取得できないかと。

Read the rest of this entry »

Written by masayuki.ozawa

9月 11th, 2016 at 11:45 am

Posted in SQL Database

Tagged with