SQL Server
最近、SQL Server の診断をする機会が増えてきています。時間がない中でやっていることもあり、超簡易診断しかできていませんが....その方法について説明します。 データベースを作成します。 とりあえず 2G くらいにしておきましょう。 データベースが作成…
本日、大阪に来ています。天気は良くありません。お昼から雨のようですね。 色々なシステムの SQL Server に関するレビューをしていると、まだまだパラメータ化されていないクエリが多数存在します。それによる影響としては、 クエリのパターンが毎回変化す…
INNER JOIN などを使ってクエリを書いているときに、JOIN しているテーブルの内容をちょっと見てみるときに、SELECT 文を書いたりするのは少し面倒です。例えば以下のようなクエリ。 SELECT soh.*, sod.*, p.* FROM Sales.SalesOrderHeader soh INNER JOIN S…
ブログへのアクセスログを見ていると、海外からのアクセスが少なからず存在します。( 私の書いた記事を Google 翻訳していたログもありました。 ) 下記のブログを英訳してみましょう。これで海外からのアクセスも増えるかな? ryuchan.hatenablog.comDuring …
そーいえば、お試ししてなかった。 ryuchan.hatenablog.com これはいいですね。「to troubleshoot existing production databases by cloning the schema and metadata without the data」で、統計情報などが取得できるだけでも、実行プランがおかしくなった…
今日も移動時間を利用して、サクッと記事を投稿します。 SQL Server Management Studio は、クエリを記述する上で便利な機能を多くもっています。今回は、少しでもキーボードを使わずにクエリを記述する方法を紹介します。例えば、データベース名は、オブジ…
行単位にロックを獲得するため、下記のようなクエリを発行することがあるかと思います。 SELECT * FROM WideWorldImporters.Sales.OrderLines WITH(XLOCK,ROWLOCK) WHERE OrderID = 10 それでは下記のクエリをSQL Server Management Studio で実行してみまし…
C# などの開発言語でのコーディングでは共通化などを行いますが、クエリでは共通関数化などをあまり見かけません。クエリ、ストアド関連のレビューしていると、下記のようなロジックをよく見かけます。 SET @TempValue = LTRIM(RTRIM(REPLACE..... 少しでも…
SE の雑記 さんが MSSQL Tiger Team の SQL Server Performance Monitoring and Baselining をツイートされてました。これは楽しそうですね。MSSQL Tiger Team からパフォーマンスモニタリングのためのツール一式が公開されています https://t.co/wDabK9rM3x…
過去に少しだけ統計情報に関する記事を書いています。 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 今日も暑かったので、まずはビール! ビールサーバーほしいなぁ。けど、これ買っちゃうと休みの…
今年は 10 年以上ぶりにお盆に帰郷します。しかも、車で。ということで車の総点検中です。 今回は SUM 関数の使い方を少し工夫してみたいと思います。Sales.SalesOrderHeader テーブルを使って、TerritoryID 別の数を算出します。下記のクエリを SQL Server …
関東甲信地方は、7 月 28 日に梅雨明けしました。今から本格的な夏が始まりますね、と思いましたが来週はそれほど真夏な感じでもありませんね。 しかし、今日は暑い!午前中から子供とポケモン探しに行きましたが、耐え切れず途中で涼むことに。そして、つい…
関東涼しいですね。夏とは思えない気温です。来週もそんなに気温は上がらなそうです。 さて、今回はSQL Server 2014 SP2 のアップデート概要の最終回です。(なんでこうなったのかは不明です。) ryuchan.hatenablog.com ryuchan.hatenablog.com ryuchan.haten…
なぜか興味を持った SQL Server 2014 SP2 のアップデートの内容。 ryuchan.hatenablog.com ryuchan.hatenablog.com すべての更新内容に興味が沸いたわけではないのですが、なんとなく全部見てみようかと。 Supportability and Diagnostics Improvements 次は…
前回は少しだけ SQL Server 2014 SP2 について書いてみました。 ryuchan.hatenablog.com Performance and Scalability Improvements in SQL 2014 SP2 取り上げてなかったものをさらっとみていきましょう。パフォーマンスとスケーラビリティーの改善について…
先週から今週とかなり忙しく、週末もまともにブログを書けませんでした。最近、見てなかった SQL Server Blog に「SQL Server 2014 Service Pack 2 is now Available !!! 」とあったので、2014 に対して興味はなかったのですが、ちょっとみてみることにしま…
梅雨明けはまだですが、毎日暑いですね。 今回は、パーティション分割したテーブルのそれぞれのデータがどのパーティションに属しているか確認する方法です。データベースは、WideWorldImporters を使用します。 ryuchan.hatenablog.com テーブルは Sales.Cu…
灼熱の日曜日。Cortana さんに今日の気温を聞いてみました。40℃! 別のサイトで確認。35℃。それでも暑い! Cortana さん暑さでダウンでしょうか(笑) 梅雨が終わってしまったような天気です。今週も暑いですね。 今回は非常に地味ですが、実行プランの比較機…
早速お勉強。まず、基本概念から。 列ストア インデックスの説明 SQL Server のインメモリ列ストア インデックスは、列ベースのデータ ストレージと列ベースのクエリ処理を使用して、データを格納および管理します。 列ストア インデックスは、主に一括読み…
SQL Server のサンプルデータベースといえば、AdventureWorks です。今回、SQL Server 2016 の機能に合わせて WideWorldImporters というサンプルデータベースがリリースされました。 blogs.technet.microsoft.com Wide World Importers is the new sample f…
In-Memory っておもしろそうだし、お仕事でも使ったことないのでお試ししてみます。 In-Memory OLTP Performance Demo Available for Download | SQL Server Database Engine Blog デモのサンプルは下記の場所からダウンロードできます。 github.com サンプ…
いつもの SQL Server ブログ。 blogs.technet.microsoft.com 日本語でも公開されてる。 www.microsoft.com やっぱり、SEの雑記が一番まとまってる。 blog.engineer-memo.com Developer Edition は無償です。 blog.sqlauthority.com 自習書でお勉強しましょう…
ふと、思いついたので投稿します。使ってない無駄な資源を探すのって、結構やること多いですよね。使用してない(と思われる)ストアドプロシージャを抽出してみたいと思います。下記のクエリを SQL Server Management Studio で実行してみましょう。 SELECT […
SQL OS スケジューラーと NUMA、スケジューラーで動作するワーカーの数などが一目で判断できます。 ryuchan.hatenablog.com 下記のクエリを SQL Server Management Studio で実行してみましょう。 SELECT [ノードID] = ons.node_id, [ノードの状態] = ons.no…
クエリチューニングにおいてインデックスが使われていることに着目することが多いですが、他の重要なことに "プランの再利用" があります。プランの再利用率が悪いと SQL のコンパイルが頻繁に実行されてしまい、その結果 CPU 使用率が高くなってしまいます…
『SQL の実行時間が遅く、調査したらインデックスが不足していた、運用環境にインデックスを追加せねば!けど...インデックスを追加したために他のクエリに影響がでるのが怖い!』ということは、SQL Server の開発に携わっていれば誰しも経験があると思いま…
世間ではゴールデンウィーク後半の昨日、お休みを取ることができました(やっとで....)。最近は色々な公園に行くことが多く、今回は東京都江東区にある若洲海浜公園に行ってきました。遊具があるのはもちろんのこと、なんとそれ以外にゴルフ、海釣り、サイク…