読者です 読者をやめる 読者になる 読者になる

都内で働くSEの技術的なひとりごと

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

SQL Server

Resumable Online Index Rebuild is in public preview for SQL Server 2017 CTP 2.0 をお試してみた

何か目に違和感 ( 痛いわけではない ) を感じてしまい、朝早く起きたので....記事書きます(笑)。 CTP2.0 ( SQL Server 2017 ) で Resumable Online Index Rebuild という大規模データベースを運用する上で非常に便利な機能が搭載されました。 blogs.technet.…

統計情報をデータベースから抜き出してみる

左目の痛みは引いてきましたが、右目が痛くなってきました(泣)。前回の記事では、DBCC コマンドを使って統計情報を抜き出し、UPDATE STATISTICS を使い統計情報を更新してみました。ただ、これを繰り返すのは面倒ですよね。 ryuchan.hatenablog.com今回は、…

統計情報をいじくってみる

先週の木曜日くらいから調子悪くなって、金曜日に病院へいったら...アデノウィルスによる結膜炎 ( 流行性角結膜炎( EKC )) と診断されました。体は怠いし、目は痛いし最悪の状態です。アデノウィルスは感染力も強いので、出社もしばらく控えなければいけませ…

日曜日のお昼から仕事しようと思ったけど、何か気が乗らないのでネットみてたら、Cumulative Update 2 for SQL Server 2016 SP1 がリリースされていたのでちょっとお試ししてみる

SQL Server 2016 SP1 CU2 がリリースされていました。 https://support.microsoft.com/en-us/help/4013106/cumulative-update-2-for-sql-server-2016-sp1 sys.dm_db_stats_histogram が DMV に追加されたようです。 ryuchan.hatenablog.com SQL Server 2016 …

SQL Server next version CTP 1.4 now available なので、少し内容をみてみる

CTP 1.4 がリリースされていましたね。 blogs.technet.microsoft.com 内容を見てみましょう。 https://msdn.microsoft.com/en-US/library/mt788653(SQL.130).aspx Linux の SQL Agent サービスとバグフィックスだけのようです。 SQL Server Database Engine …

あとで USE HINT の件は調査するので、メモしておいてみる

ちょっと真面目に調査しなければいけないとふと思ったので、メモしておきます。 blogs.msdn.microsoft.com New USE HINT query option – A new query option, OPTION(USE HINT(‘’)), is added to alter query optimizer behavior using supported query leve…

SQL Server v.Next CTP1.3 をほんの少しだけ扱ってみる

SQL Server v.Next CTP1.3 がリリースされました。 blogs.technet.microsoft.com blog.engineer-memo.com CTP1.1 の時にうまく動作しなかった DMV を試してみます。 ryuchan.hatenablog.com 下記のクエリを SQL Server Management Studio で実行してみましょ…

PostgreSQL に関して調査してみた

いつもは SQL Server な人ですが、業務上の都合により一時的に PostgreSQLer になることに。マイクロソフトもオープンソースへの取り組みも積極的なので、たまには OSS もいいですよね? blogs.technet.microsoft.com PostgreSQLについてenterprisezine.jp70…

実行プランの読み方をまとめてみる - その10 ( 過去記事で実行プランの読み方について役立ちそうなのものを集めてみた ) -

今日は家庭の事情により会社をお休みしていました。実行プランの読み方について、SET STATISTICS PROFILE ON での読み方も載せるべきかなぁと思っていたら、過去の記事に丁度いい記事がありました。 ryuchan.hatenablog.com ryuchan.hatenablog.com それ以外…

実行プランの読み方をまとめてみる - その9 ( Scan しているオペレーターがないからといって、安心してはいけません ) -

年末・年始にかけてお仕事でした。ゴールデンウィークがお仕事でなくなるのも少し萎えますが、年末・年始がなくなるのはかなり萎えますね。やはりきちんと休みを取りたいものです。来年以降もこのような状態が続きそうです... この状態から脱却するには、会…

そうなんだぁと思ったことを記事にしてみた

大晦日からずっと仕事なんですが、結構暇です。時間があったので、色々と調べていたら下記の記事がひっかかりました。担当しているシステムで試したくなったのでやってみましたwww SQL Server: パフォーマンスの問題を掘り下げる OS のパフォーマンス チュー…

SQL Server v.Next CTP1.0 で追加された DMF をお試してみる

もう一つ dmf をお試ししてみます。sys.dm_exec_query_statistics_xml です。 ryuchan.hatenablog.com sys.dm_exec_query_statistics_xml は、実行中リクエストのクエリ実行プランを返します。一時的な統計情報を含む showplan XML を取得することが可能です…

SQL Server 2012 と SQL Server v.Next CTP1.1 の DMV と DMF の違いをチェックしてみる

過去に 2012 と 2016 の dmv、dmf の違いを抽出しました。同じように 2012 と v.Next の違いもチェックしてみましょう。 ryuchan.hatenablog.com リンクサーバ名を VNEXTto2012 と定義します。下記のクエリを v.Next 側のインスタンスから実行します。 SELEC…

便利な SQL の関数とか、構文とか、その他色々まとめてみる - その17 ( STRING_ESCAPE )

冬至も過ぎ、今年も終わりを告げようとしています。この三連休、春を感じさせるような暖かさで、冬とは思えない陽気でした。インフルエンザ治癒にはよかったかもしれません。寝たきりのインフルエンザ生活から少しでも体調を回復すべく、近所でコーヒー飲み…

便利な SQL の関数とか、構文とか、その他色々まとめてみる - その16 ( STRING_AGG )

v.Next CTP1.1 では便利な関数がいくつか追加されています。前回はその内3つを紹介しました。 ryuchan.hatenablog.com 集約関数である STRING_AGG が追加されています。SQL Server 2016 までの SQL Server では FOR XML PATH('') を駆使して実現する必要があ…

インフルエンザの症状もほぼなくなり、熱も36度台に下がったので SQL Server v.Next CTP1.1 の情報を見てみる

世の中はすっかり Xmas ムードの真っ只中、自分にはインフルエンザをプレゼントされましたwww ようやく体調が回復したのは、クリスマスイブ。今年の Xmas はまったくついていません。しかし、そんなことには少しもめげず、クリスマスといえども記事を書きま…

インフルエンザなってしまい、なんとか熱も37度台に下がったのでリハビリがてら最近何も見てなかった SQL Server 関連の情報を見てみる

忘年会シーズンの真っ只中、インフルエンザになってしまいました。熱もやっとで 37度台になりましたので、SQL Server 関連の情報を3週間ぶりに見てみます。SQL Server next version Community Technology Preview 1.1 とかリリースされていたんですねーww bl…

UPDATE STATISTICS の MAXDOP を指定してみる

今週も怒涛の一週間が過ぎました。12月は毎年出張が多く(忘年会込)、来週は大阪→新潟→徳島の順で出張します。前回、統計更新でどのような処理が走るのか簡単に書いてみました。 ryuchan.hatenablog.com 記事の中で下記のようなクエリを実行しました。 USE Ad…

統計情報更新の動作を SQL Server Profiler を使って観察してみる

統計情報の更新についての動作を SQL Server Profiler を使って観察してみましょう。今回は下記の条件下で観察します。 データベースは、AdventureWorks、テーブルは Production.WorkOrder 統計は PK_WorkOrder_WorkOrderID を使用します。まず下記のクエリ…

便利な SQL の関数とか、構文とか、その他色々まとめてみる - その15 ( GROUPING して、ROLLUP で総計出してみる ) -

本日は一年ぶりの金沢に出張です。新幹線が 2017年3月に開業してから、金沢駅周辺も賑わってますね。 www.pref.ishikawa.jp 今日は石川県立音楽堂にて、ある学会に参加してます。 ongakudo.jp さて、今回はデータの合計を得るためのクエリを書いてみます。下…

SQL Server 2016 SP1 がリリースされたので、ちょっとみてみる

週後半はアレルギー症状が出てしまい、まったくダメダメな状態。ハウスダストアレルギーと寒暖差アレルギー持ちとしては、いつ発症するかわからないので年中辛いです。日曜日に体調が復活したので、朝から近くのドトールで記事書きます。 11月16日に SQL Ser…

知らなかったことを記事にしてみる

眠い。徹夜での仕事になりそうなので、頭をリフレッシュさせるために記事書きます。昨日面白いこと知ったので、実験してみます。私のマシンの CPU コア数は 4コアです。 下記のクエリを SQL Server Management Studio で実行します。スケジューラーは 4つ存…

便利な SQL の関数とか、構文とか、その他色々まとめてみる - その14 ( もし、そのオブジェクトが存在したら消すを単純に書いてみる ) -

出発前に記事書きます。昨日は Tech Summit 2016 に行ってきました。 ryuchan.hatenablog.com 仕事の都合と同時間帯に参加したいセッションが重なったこともあり、残念ながら興味のあるセッションすべて参加することはできませんでした。次は来年の de:code …

デッドロックについて説明してみる - その 5 ( そして、さらに、デッドロックグラフも見てみる ) -

本日最後のお仕事、子供とカードゲームのお買い物です。カード購入後、スリーブというビニール製のケースに一枚づつ収納します。見ていてかなり面倒臭そうですが、子供にとっては楽しい作業のようです。 中でも大事なカードは、スリーブを二重し、収納するよ…

デッドロックについて説明してみる - その 4 ( さらに、デッドロックの内容をみてみる ) -

世間はすっかりハロウィーンムード。用事を済ませた後、立ち寄ったドトールのコーヒーもハロウィーン仕様でした。 デッドロックの続きです。次はトレースフラグ 1204 の説明をします。下記の二つの記事から、トレースフラグ 1204 を設定し、デッドロックを発…

やっぱり Microsoft Tech Summit に行ってみる

以前は行かないといっていましたが.... ryuchan.hatenablog.com やっぱり行きますww 申し込みはここから。 申し込み期限は、10/28 ( 金 ) 23 時 59 分まで! Microsoft Tech Summit 用のスマフォアプリもあります。スケジュール、終了後のアンケート、フロア…

デッドロックについて説明してみる - その 3 ( デッドロックの内容をみてみる ) -

デッドロックの見方について説明してみたいと思います。それでは早速デッドロックを SQL Server に検出させてみましょう。下記のコマンドを SQL Server Management Studio から実行してみましょう。 DBCC TRACEON(1222,-1) トレースフラグがきちんと反映され…

デッドロックについて説明してみる - その 2 ( C# で deadlock を例外処理でキャッチしてみる ) -

前回デッドロックのサンプルクエリを書いてみました。 ryuchan.hatenablog.com 今回は、そのクエリを C# で書いてみます。( 処理の対比がしやすいように、あえて TransactionScope 等は使用しません。 ) クエリ 1 を C# に変更 string connectionString = @"…

デッドロックについて説明してみる - その 1 ( 一回で終わるかもしれないけど、その 1 にしてみた ) -

近所の近くで少し早起きして、記事書きます。いつもより早起きするのもいいですね(^^♪ 最近、デッドロックしている人 ( 作業に行き詰まるわけではなく、SQL Server のほうですw ) が多いので、デッドロックのおさらいしてみましょう。デッドロックとは、 デ…

SQL Server Management Studio の知っておいたほうが良い機能について挙げてみる - その10 - ( マップモードの使い方 )

秋分を過ぎても秋めかず 10 月になっても秋暑しでしたが、台風 18 号が過ぎ去ってから一気に気温も下がり秋づいてきました。もう、朝夕はシャツ一枚では肌寒いですね。 さて、SQL Server Management Studio の March 2016 Refresh でマップモードが SQL Serv…

SQL Server のチューニングについてまとめてみる - その21 - ( あるプロジェクト向けに書いてみた )

最近、SQL Server の診断をする機会が増えてきています。時間がない中でやっていることもあり、超簡易診断しかできていませんが....その方法について説明します。 データベースを作成します。 とりあえず 2G くらいにしておきましょう。 データベースが作成…

SQL Server のチューニングについてまとめてみる - その20 - ( きちんとパラメータ化してみる )

本日、大阪に来ています。天気は良くありません。お昼から雨のようですね。 色々なシステムの SQL Server に関するレビューをしていると、まだまだパラメータ化されていないクエリが多数存在します。それによる影響としては、 クエリのパターンが毎回変化す…

SQL Server Management Studio の知っておいたほうが良い機能について挙げてみる - その9 - ( クエリショートカットの使い方 )

INNER JOIN などを使ってクエリを書いているときに、JOIN しているテーブルの内容をちょっと見てみるときに、SELECT 文を書いたりするのは少し面倒です。例えば以下のようなクエリ。 SELECT soh.*, sod.*, p.* FROM Sales.SalesOrderHeader soh INNER JOIN S…

Introduce the function should be aware of " SQL Server Management Studio " - Part 8 - (Let's easier to write a query.)

ブログへのアクセスログを見ていると、海外からのアクセスが少なからず存在します。( 私の書いた記事を Google 翻訳していたログもありました。 ) 下記のブログを英訳してみましょう。これで海外からのアクセスも増えるかな? ryuchan.hatenablog.comDuring …

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

そーいえば、お試ししてなかった。 ryuchan.hatenablog.com これはいいですね。「to troubleshoot existing production databases by cloning the schema and metadata without the data」で、統計情報などが取得できるだけでも、実行プランがおかしくなった…

SQL Server Management Studio の知っておいたほうが良い機能について挙げてみる - その8 - ( クエリを少しでも楽に書いてみる )

今日も移動時間を利用して、サクッと記事を投稿します。 SQL Server Management Studio は、クエリを記述する上で便利な機能を多くもっています。今回は、少しでもキーボードを使わずにクエリを記述する方法を紹介します。例えば、データベース名は、オブジ…

行ロックの動作についてお試ししてみる

行単位にロックを獲得するため、下記のようなクエリを発行することがあるかと思います。 SELECT * FROM WideWorldImporters.Sales.OrderLines WITH(XLOCK,ROWLOCK) WHERE OrderID = 10 それでは下記のクエリをSQL Server Management Studio で実行してみまし…

便利な SQL の関数とか、構文とか、その他色々まとめてみる - その13 ( TRIM の自作 ) -

C# などの開発言語でのコーディングでは共通化などを行いますが、クエリでは共通関数化などをあまり見かけません。クエリ、ストアド関連のレビューしていると、下記のようなロジックをよく見かけます。 SET @TempValue = LTRIM(RTRIM(REPLACE..... 少しでも…

MSSQL Tiger Team の SQL Server Performance Monitoring and Baselining を見ながらツールを試してみる

SE の雑記 さんが MSSQL Tiger Team の SQL Server Performance Monitoring and Baselining をツイートされてました。これは楽しそうですね。MSSQL Tiger Team からパフォーマンスモニタリングのためのツール一式が公開されています https://t.co/wDabK9rM3x…

統計情報をみる DBCC SHOW_STATISTICS の使い方について少しだけ説明してみる

過去に少しだけ統計情報に関する記事を書いています。 ryuchan.hatenablog.com ryuchan.hatenablog.com ryuchan.hatenablog.com 今更感はありますが、DBCC SHOW_STATISTICS の使い方について少しだけ説明したいと思います。折角なので、データベースは WideW…

ストライプバックアップをお試ししてみた

夏休み真っ只中、仕事をしなければならないのですが、集中力が途切れたので記事書きますwww データベース容量の見積もりをミスって、容量足りない、バックアップ先の領域も足りない...という経験したことがあると思います。そんな時便利なのがストライプバッ…

『質問に答えてみた』に内容を追加してみた

会議中に少しだけ。下記の記事内容に少し補足します。 ryuchan.hatenablog.com MERGE 文でどのように更新および追加したかを判断する方法です。MERGE 文に OUTPUT $action, Inserted.*,Deleted.* を追加します。また、結果を格納するレイアウトとして下記の…

そろそろ業務で使いそうなため、カラムストアのお勉強...まではいかないものの、少しづつ色々なものをお試してみる

先日、カラムストアのお勉強を始めたのですが、業務で使うようにならないと必要に迫られないこともあり、いまいちやる気がおきません。 ryuchan.hatenablog.com 今日も暑かったので、まずはビール! ビールサーバーほしいなぁ。けど、これ買っちゃうと休みの…

便利な SQL の関数とか、構文とか、その他色々まとめてみる - その12 ( SUM の使い方の工夫 ) -

今年は 10 年以上ぶりにお盆に帰郷します。しかも、車で。ということで車の総点検中です。 今回は SUM 関数の使い方を少し工夫してみたいと思います。Sales.SalesOrderHeader テーブルを使って、TerritoryID 別の数を算出します。下記のクエリを SQL Server …

質問に答えてみた

関東甲信地方は、7 月 28 日に梅雨明けしました。今から本格的な夏が始まりますね、と思いましたが来週はそれほど真夏な感じでもありませんね。 しかし、今日は暑い!午前中から子供とポケモン探しに行きましたが、耐え切れず途中で涼むことに。そして、つい…

『『『 SQL Server 2014 Service Pack 2 is now Available !!! ということなので使ってみる 』 の続き、まずは Performance and Scalability Improvements から書いてみる 』の続き、次に Supportability and Diagnostics Improvements について書いてみる。』 の続きを書いてみる

関東涼しいですね。夏とは思えない気温です。来週もそんなに気温は上がらなそうです。 さて、今回はSQL Server 2014 SP2 のアップデート概要の最終回です。(なんでこうなったのかは不明です。) ryuchan.hatenablog.com ryuchan.hatenablog.com ryuchan.haten…

『『 SQL Server 2014 Service Pack 2 is now Available !!! ということなので使ってみる 』 の続き、まずは Performance and Scalability Improvements から書いてみる 』の続き、次に Supportability and Diagnostics Improvements について書いてみる。

なぜか興味を持った SQL Server 2014 SP2 のアップデートの内容。 ryuchan.hatenablog.com ryuchan.hatenablog.com すべての更新内容に興味が沸いたわけではないのですが、なんとなく全部見てみようかと。 Supportability and Diagnostics Improvements 次は…

『 SQL Server 2014 Service Pack 2 is now Available !!! ということなので使ってみる 』 の続き、まずは Performance and Scalability Improvements から書いてみる

前回は少しだけ SQL Server 2014 SP2 について書いてみました。 ryuchan.hatenablog.com Performance and Scalability Improvements in SQL 2014 SP2 取り上げてなかったものをさらっとみていきましょう。パフォーマンスとスケーラビリティーの改善について…

SQL Server 2014 Service Pack 2 is now Available !!! ということなので使ってみる

先週から今週とかなり忙しく、週末もまともにブログを書けませんでした。最近、見てなかった SQL Server Blog に「SQL Server 2014 Service Pack 2 is now Available !!! 」とあったので、2014 に対して興味はなかったのですが、ちょっとみてみることにしま…

どのデータがどのパーティションに属しているか確認してみる

梅雨明けはまだですが、毎日暑いですね。 今回は、パーティション分割したテーブルのそれぞれのデータがどのパーティションに属しているか確認する方法です。データベースは、WideWorldImporters を使用します。 ryuchan.hatenablog.com テーブルは Sales.Cu…