都内で働くSEの技術的なひとりごと / Technical soliloquy of System Engineer working in Tokyo

都内でサラリーマンやってます。SQL Server を中心とした (2023年からは Azure も。) マイクロソフト系(たまに、OSS系などマイクロソフト以外の技術も...)の技術的なことについて書いています。日々の仕事の中で、気になったことを技術要素関係なく気まぐれに選んでいるので記事内容は開発言語、インフラ等ばらばらです。なお、当ブログで発信、発言は私個人のものであり、所属する組織、企業、団体等とは何のかかわりもございません。ブログの内容もきちんと検証して使用してください。英語の勉強のため、英語の

CLONEDATABASE をお試しするのを忘れていたので、お試ししてみた

 そーいえば、お試ししてなかった。
ryuchan.hatenablog.com

これはいいですね。「to troubleshoot existing production databases by cloning the schema and metadata without the data」で、統計情報などが取得できるだけでも、実行プランがおかしくなったときなどに重宝しそうです。試そうと思ったけど、2016 はまだサポートしていないんですね。SQL Server 2014 の環境がない....あとで試そう。それ以外にも魅力的な機能向上があるので、2014の環境も構築しよう。

SQL Server 2014 Service Pack 2 is now Available !!! ということなので使ってみる - 都内で働くSEの技術的なひとりごと

 早速試してみましょう。AdventureWorks2014 データベースを使用します。下記のコマンドを SQL Server Management Studio で実行してみましょう。

DBCC CLONEDATABASE('AdventureWorks2014', 'AdventureWorks2014_Clone')

f:id:koogucc11:20160910232512p:plain

 AdventureWorks2014_Clone というデータベースが作成されます。
f:id:koogucc11:20160910232613p:plain

 統計情報も存在します。
f:id:koogucc11:20160910232938p:plain
 
 DBCC SHOW_STATISTICS で統計情報を参照することができます。下記のコマンドを SQL Server Management Studio で実行してみましょう。

DBCC SHOW_STATISTICS ('Person.BusinessEntityAddress','AK_BusinessEntityAddress_rowguid')

f:id:koogucc11:20160910233231p:plain

 DBCC SHOW_STATISTICS の使い方は下記のブログを参照してください。
ryuchan.hatenablog.com

 下記のクエリとかも発行できちゃいます。

SELECT 
    st.text,
    qp.query_plan, 
    qs.* 
FROM 
    sys.dm_exec_query_stats qs
    OUTER APPLY 
        sys.dm_exec_query_plan(qs.plan_handle) qp
    OUTER APPLY 
        sys.dm_exec_sql_text(qs.sql_handle) st

f:id:koogucc11:20160910234350p:plain

 オフラインでの調査が非常に楽になりますね。情報取得とか細かく指示しなくてもいいですし。『 CLONEDATABASE の結果送付して。』と指示すれば漏れなく調査データを取得できます。早く 2016 も対応にならないかなぁ。ついでに、2012 も....

 さんまにだいこんおろし、醤油をかけて、すだちを絞って、ビールで頂く....秋ですねぇ。

オラ、だいこんくん

オラ、だいこんくん

焼さんま専用醤油

焼さんま専用醤油

キリン 秋味 缶 350ml×24本

キリン 秋味 缶 350ml×24本

クリアアサヒ 秋の琥珀 350ml×24本

クリアアサヒ 秋の琥珀 350ml×24本

サントリー 秋の“旬味

サントリー 秋の“旬味" 350ml×24本