タグ

ブックマーク / engineermemo.wordpress.com (10)

  • SQL Server のクエリチューニングの参考情報

    SQL Server のクエリチューニングをする際に参考になる情報のメモを。 SQL Server クエリのパフォーマンスを最適化する クエリのチューニング 実行プランを読む – 基編 (その 1) 実行プランを読む – 基編 (その 2) 実行プランを読む – 基編 (その 3) どうする? SQL Server のクエリ パフォーマンスが低下した! クエリチューニングの取り掛かりとしては SlideShare の以下の情報も参考になります。 SQL Server Query Tuning Tips – Get it Right the First Time Microsoft SQL Server Query Tuning クエリチューニングの考え方ですが、大きく分けると、 クエリ自体を改修することで実行効率を向上させる クエリは改修せずに実行効率を向上させる の 2 パターンが

    SQL Server のクエリチューニングの参考情報
  • 森鷗外るでみる SQL Server のデータ格納

    Unicode 文字列の格納をテストする際に [森鷗る] を使うことがよくあるかと思います。 この文言を使って SQL Server のデータ格納を見てみようかと。 森鷗外るを構成する文字は以下のようになっています。 SELECT NCHAR(0x68ee),NCHAR(0x9dd7),NCHAR(0x5916),NCHAR(0xd842) + NCHAR(0xdf9f),NCHAR(0x308b) SELECT UNICODE(N'森'),UNICODE(N'鷗'),UNICODE(N'外'),UNICODE(N''),UNICODE(N'る')

    森鷗外るでみる SQL Server のデータ格納
  • SQL Database で利用状況モニターのプロセス情報相当を取得

    オンプレミスの SQL Server に SSMS で接続した場合、現状を取得するための利用状況モニターを使用することができます。 接続されているセッションからの実行状況を取得するために、プロセスのカテゴリをよく使用することがあります。 似たような情報を SQL Database でも取得できると便利かなと思ってクエリを作ってみました。 以下のようなクエリで利用状況モニター相当の情報が取得できるかと思います。 実行するとセッション単位に情報が取得されます。 SELECT es.session_id, er.request_id, er.start_time, er.start_time, es.last_request_start_time, es.last_request_end_time, CASE WHEN er.sql_handle IS NULL THEN ec_text.tex

    SQL Database で利用状況モニターのプロセス情報相当を取得
  • SQL Server Performance Dashboard Reports

    SQL Server 2005 の時からリリースされている SQL Server 2005 Performance Dashboard Reports というツールがあります。 このツールは Management Studio のカスタムレポートで DMV の情報を出力することができるものになります。 SQL Server 2008 / R2 でも SQL Server 2005 用のものを利用することができたのですが、Performance Dashboard Reports for SQL Server 2008 にあるように一部書き換えが必要でした。 SQL Server 2012 では、Microsoft® SQL Server® 2012 Performance Dashboard Reports として、書き換えをしなくても動作するものがリリースされています。 Microsof

    SQL Server Performance Dashboard Reports
  • パラメータ スニッフィングとトレースフラグ4136

    SQL Server でストアドプロシージャやパラメータ化クエリを実行する場合、パラメータ スニッフィング (パラメータ傍受) によって、初回に実行された際のパラメータを元に実行プランが作成されます。 MVP Erland氏がSQL Serverのパフォーマンス概念について検討 そのため、初回の実行時に特殊な結果を返すようなパラメータでクエリが実行されると、それが他のパラメータでも効率的な最適化されたプランとならない可能性があるため、RECOMPILE ヒントや OPTMIZE FOR ヒントを使用して非効率なプランで実行されないような対応をすることがあるかと思います。 SQL Server 2008 以降では、OPTMIZE FOR ヒントに UNKNOWN というオプションが追加されています。 今回は SQL Server 2005 SP3 CU9 / SQL Server 2008

    パラメータ スニッフィングとトレースフラグ4136
    murasuke
    murasuke 2013/02/14
    パラメータ スニッフィングについて
  • SQL Server 2012 Express Edition の上限について

    SQL Server Express Edition はいろいろな製品のデータストアとして使用されていることがあると思います。 今回の投稿では SQL Server 2012 Express Edition の CPU / メモリ / ディスクの上限を改めて整理してみたいと思います。 Express Edition のインストーラーは以下からダウンロードできます。 Microsoft® SQL Server® 2012 Express ■CPU について CPU には以下の制限があります。 SQLServer のエディション別の計算容量制限 1 ソケットまたは 4 コアのいずれか小さいほうに制限 1 ソケット / 4 コア / HT 有効 の CPU を使用する場合、OS からは 1 ソケット = 8 コア として認識がされます。 この場合、SQL Server が使用できる CPU コア

    SQL Server 2012 Express Edition の上限について
  • 8月 « 2010 « SE の雑記

    先日、Exchange Server 2010 SP1 の提供が開始されましたのでインストールをしてみました。 Exchange Server 2010 のインストールについては自習書が提供されていますので、自習書に書かれていない箇所だけを 記載していきたいと思います。 1. インストール編 (Word ファイル、11.2 MB) Exchange Server 2010 SP1 は SP1 のインストーラーを使うことで、スリップストリームインストールができますので、 Non SP → SP1 という順番でインストールをしなくても、最初から SP1 をインストールすることができます。 エッジトランスポートサーバーでしか試せていませんが、SP1 Beta → SP1 にアップデートすることもできました。 基的な内容は、以前 SP1 Beta の時に検証した内容と変わらなさそうです。 Bet

    8月 « 2010 « SE の雑記
    murasuke
    murasuke 2012/05/10
    ワーカースレッドが枯渇するとDeadlocked Schedulers が ERRORlOGに吐き出される
  • その昔まとめていたとあるメモが発掘されたので投稿してみました

    昔々に途中前で書いて挫折したメモが出てきたので投稿しておきたいと思います。 まだまだいろいろと書くとはあるのですが続きは書かないです…。 元ネタはこちら SQL Server 2005 でのパフォーマンス問題のトラブルシューティング http://technet.microsoft.com/ja-jp/library/cc966540.aspx http://download.microsoft.com/download/c/9/8/c985ab71-1cf5-40b4-bc2a-ea8f9555fb3e/TShootPerfProbs.doc Troubleshooting Performance Problems in SQL Server 2008 http://msdn.microsoft.com/en-us/library/dd672789(v=sql.100).aspx htt

    その昔まとめていたとあるメモが発掘されたので投稿してみました
  • SQL Server のクエリ実行時の簡易 / 強制パラメーター化について

    SQL Server には単純なクエリが実行された際に、内部的に自動でパラメーター化して実行される [簡易パラメーター化] (SQL Server 2000 では自動パラメーター化と呼ばれていました)  という機能があります。 # 私はずっと自動パラメーター化と言っていたのですが、この投稿を書くために調べたら簡易パラメーター化と呼ぶということを知りました…。 [強制パラメーター化] は単純でないクエリに対しても自動でパラメーター化をして実行する機能になります。 # 強制パラメーター化を有効にしてもパラメーター化の条件に当てはまらないと通常のクエリとして実行されますが。 このパラメーター化クエリについて少しまとめてみたいと思います。 今回の投稿ではパラメーター化は、簡易パラメーター化で検証をしています。 # 強制パラメーター化でも基的な動作は同じになるはずですので。 ■パラメーター化クエリ

    SQL Server のクエリ実行時の簡易 / 強制パラメーター化について
  • SQL Server の初回データベースバックアップとログの切り捨てについて - Windows Live

    SQL Server のデータベースバックアップですが、完全バックアップではトランザクションログの切り捨てはされません。 トランザクションログの切り捨てを行うためには、トランザクションログのバックアップまたは、復旧モードを [単純] に 設定する必要があります。 ただし例外が一つだけあり、初回のデータベースバックアップ時にはトランザクションログが切り捨てられるようです。 まずはデータを挿入して、トランザクションログが使用されている状態にしてみました。 – トランザクションログの使用状況の取得 – DECLARE @logspace TABLE( DatabaseName sysname, LogSize int, LogSpaceUsed int, Status int ) INSERT INTO @logspace EXEC (‘DBCC SQLPERF(”LOGSPACE”)’)SEL

    SQL Server の初回データベースバックアップとログの切り捨てについて - Windows Live
  • 1