RESOURCE_SEMAPHORE_QUERY_COMPILEとRESEROUCE_SEMAPHORE
dm_os_wait_statsというDMVで確認できる待ち事象のRESOURCE_SEMAPHORE_QUERY_COMPILEとRESEROUCE_SEMAPHOREについて調べました。 RESOURCE_SEMAPHORE_QUERY_COMPILEはクエリコンパイルによる待ち、 つまりクエリキャッシュのスロット空き待ちが原因です。 真の原因の一つにアドホッククエリが多いことが挙げられます。...
View Articleデータベースのバックアップ計画
色々なところで語っていますがデータベースのバックアップほど重要な運用はないと思います。 とはいうものの、ちゃんと考えてバックアップを設計しているシステムは少ないように感じます。 一般的な話ですがバックアップとリストアには計画段階で以下の事を考える必要があります。 ・バックアップは何世代まで持つ必要があるのか ・データをどの時点まで戻す必要があるのか ・バックアップにかけられる時間はどれくらいか...
View ArticleSQL Serverの今後
ここ数日でSQL Serverのチャレンジングな発表が立て続けに起きました。 https://www.microsoft.com/en-us/server-cloud/sql-server-on-linux.aspx https://www.microsoft.com/en-us/server-cloud/sql-license-migration.aspx...
View Articleスピンロックとラッチの違い
SQL Serverでオブジェクト構造を保護する為の仕組みにラッチとスピンロックというものがあります。 ラッチもスピンロックも短時間の間保持して他のスレッドからオブジェクトの多重更新などが 起きないように保護する仕組みです。 スレッド1がラッチを確保して例えばページ分割をしている最中にスレッド2が該当ページにアクセスすると スレッド2はラッチ待ちをするためにYieldして後続のタスクを取り出します。...
View Article