SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

DBCC WRITEPAGE を使用したダイレクトなページの書き換え

leave a comment

通常は使う機会はないのですが、DB が破損した場合のテストをしたい場合などに便利ですので書いてみたいと思います。
本番環境では絶対に使わないほうがよいと思います。

詳細については DBCC WRITEPAGE: an introduction の記事がとても参考になります。

Read the rest of this entry »

Written by Masayuki.Ozawa

3月 18th, 2014 at 8:29 am

Posted in SQL Server

Tagged with

securityadmin ロール以外のメンバーで ERRORLOG を参照する

leave a comment

SQL Server のエラーや稼働状況のログは ERRORLOG に記録されます。
通常、ERRORLOG は SSMS から開くことが多いかと思いますが、この場合 [securityadmin] のロールのメンバーである必要があります。
image

SSMS から securityadmin 以外のロールのメンバーで ERRORLOG を確認するための方法をまとめてみたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

3月 16th, 2014 at 11:45 pm

Posted in SQL Server

Tagged with

SQL Server で Windows Azure Datacenter Log Shipper の構成を作成してみる

leave a comment

先日、Geo-DR for SQL Server on Windows Azure Infrastructure Services using Log Shipping というドキュメントが公開されました。

この構成ですが、Windows Azure のインフラストラクチャを使用して、ログ配布による DR 構成を作成するというものです。

構成の概略としては、以下のようになります。

SQL Server Agent を使用して、定期的にバックアップを AZCopy で BLOB に保存し、そこからリストアすることで、ログ配布構成をとるというものになります。

この構成を作るための手順を見ていきたいと思います。

今回は、SQL Server 2012 SP1 CU 8 (評価版) を使用しており、オンプレミスの SQL Server がソースデータベース、Windows Azure 上の VM に構築された SQL Server が配信先のデータベースとなるように構成します。

Read the rest of this entry »

Written by Masayuki.Ozawa

3月 12th, 2014 at 9:11 pm

SQL Database のページ圧縮の単純な性能トレンドを計測してみる

leave a comment

この投稿は、Windows Azure アドベントカレンダー の 3/12 の投稿です。
先日の投稿で、SQL Database で行/ページ圧縮が利用可能になったようです を書きました。
この圧縮が性能にどのような影響を与えるかを単純な処理を例に見ていきたいと思います。
Read the rest of this entry »

Written by Masayuki.Ozawa

3月 12th, 2014 at 12:15 am

非パーティションテーブルからパーティションテーブルへの切り替え

leave a comment

SQL Server 2005 移行の Enterprise Edition ではパーティションテーブルの利用が可能となりました。
パーティ初認ぐされたテーブルを使用することで大規模テーブルの大量データをアーカイブ、インデックスの一部メンテナンス、データのレンジによって使用するディスクを分散させる (パーティションをファイルグループで分けた場合) というようなことが可能となります。

SQL Server では SQL Server の評価版から製品版への移行 に記載しているような形でエディションを変更することができます。
エディション変更が可能なマトリックスは サポートされているバージョンとエディションのアップグレード に記載されており、Standard から Enterprise への変更も可能です。

image

 

Enterprise Edition に移行したタイミングでパーティショニングされたテーブルを使用したいということがあるかもしれません。
そこで、非パーティションテーブルをパーティションテーブルへ切り替える方法を少しまとめてみたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

3月 10th, 2014 at 9:08 am

Posted in SQL Server

Tagged with

クエリベースでデータベース単位のバックアップ世代を管理

leave a comment

SQL Server のメンテナンスプランでは、[メンテナンス クリーンアップ タスク] を使用することで、バックアップの世代を管理することができます。
image

このタスクですがファイル名またはファイルの拡張子に基づいての削除となるため、特定のデータベースのバックアップを削除するということは難しいです。
バックアップの拡張子にデータベース名を付与 (<バックアップ名>.<データベース名>.bak) して、拡張子を <データベース名>.bak のものを削除対象とすればある程度は制御できるのですが。

今回の投稿では、クエリベースでデータベースのバックアップ世代を管理する方法をまとめてみたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

3月 9th, 2014 at 7:03 pm

Posted in SQL Server

Tagged with

Pre-staged app cleanup が実行済みかどうかを確認する

leave a comment

西の某氏 (えろす師匠) がえろす師匠のブログWindows8.1にSysprepをかけるとストアアプリのタイトルが英語になってしまう? という投稿を書いてくださっています。
この問題は、タスクスケジューラーの [Pre-staged app cleanup] が実行されてしまった後に一般化した Sysprep (sysprep.exe /generalize) を実行するとプロビジョニングされたストアアプリで展開されたストアアプリの UI が英語版になってしまうというものです。
image
左が初期状態のスタート画面、右が上記のタスクが実行された後に一般化した Sysprep を実行した後のスタート画面になります。
タスクが動いた後に、一般化した Sysprep を実行し、プロビジョニングされたストアアプリが展開されるとアプリが英語版でインストールされてしまいます。
imageimage
この現象についてちょっと調べてみたことのメモを。
Read the rest of this entry »

Written by Masayuki.Ozawa

3月 6th, 2014 at 10:13 pm

Posted in Windows Client

Tagged with

SQL Database で行/ページ圧縮が利用可能になったようです

leave a comment

twitter 経由で Azure SQL DB to support page and row compression capabilities を知ったのですが、SQL Database で行 / ページ圧縮が使用できるようになったようです。
# 東アジア / 日本 (東) で試したところ両方使えました。

Read the rest of this entry »

Written by Masayuki.Ozawa

3月 3rd, 2014 at 12:46 am

検索条件を指定した件数取得の最適化について考えてみる

leave a comment

以前、クラスター化インデックスのみのテーブルで COUNT(*) をおすすめしない理由 という投稿を書きました。

クラスター化インデックスのみのテーブルに対して、件数取得をした場合、テーブルスキャンが発生し、全権取得が行われるため、非クラスター化インデックスを設定、または、sys.dm_os_partition_stats から件数を取得したほうが効率的です。

前回の投稿では、テーブルの全件数を取得していましたので、今回の投稿では、単一のテーブルに対して特定の条件にマッチする件数の取得の最適化について考えてみたいと思います。

今回は通常の行ストアを対象にしており、列ストアの場合は考え方が変わってきます。

Read the rest of this entry »

Written by Masayuki.Ozawa

2月 24th, 2014 at 8:23 am

Posted in SQL Server

Tagged with

SQL Server 2012 の SSMS 向けカスタムレポートを作成

leave a comment

SQL Server 2005 SP2 以降の SSMS ではカスタムレポートを表示することが可能となりました。
image

SQL Server 2008 R2 のときには BIDS 2005 相当のレポートを作成する必要があったかと思うのですが、2012 になって SQL Server 2012 のレポートビルダー (Report Builder 3.0) で作成できるようになり使いやすくなっていたので、作成方法をメモとして。

Read the rest of this entry »

Written by Masayuki.Ozawa

2月 10th, 2014 at 9:02 am

Posted in SQL Server

Tagged with