タグ

ブックマーク / blog.engineer-memo.com (18)

  • 拡張イベントでスロークエリログを取得 at SE の雑記

    プロファイラや SQL トレースでも取得はできるのですが、今後のメイン機能となると思う拡張イベントを使用してスロークエリログを取得する方法を。 拡張イベント自体は SQL Server 2008 以降で使用することができます。 SQL Server 拡張イベント 今回は SQL Server 2008 R2 と SQL Server 2012 で拡張イベントを設定する方法を。 バージョンによって設定の方法が少し異なるため両方載せてみました。 SQL Server 2008 R2 SQL Server 2008 R2 の場合は、GUI による拡張イベントの設定ができないため、クエリベースで管理する必要があります。 以下は実行に 3 秒以上かかったクエリをログに出力するための拡張イベントとなります。 # duration の指定はマイクロ秒になります。 CREATE EVENT SESSION

    拡張イベントでスロークエリログを取得 at SE の雑記
  • SQL Server 2008 以降のログの切り捨て at SE の雑記

    なし。データベースに単純復旧モデルが使用されている場合は、トランザクション ログの切り捨てが自動的に行われます。 ログ バックアップ チェーンをデータベースから削除する必要がある場合は、単純復旧モデルに切り替えてください。 トランザクションログを手動で強制的に切り捨ての必要が発生する可能性があるのは、復旧モデルが [完全] [一括ログ] を使用していて、定期的にトランザクションログのバックアップを取得しておらず、トランザクションログの領域が圧迫してしまった場合だと思います。 トランザクションログのバックアップを取得すれば解決するのですが、ディスク領域が枯渇しており、バックアップの取得先がない場合は強制的にログを切り捨てる必要があります。 # SQL Server のサービスアカウントがアクセスできる共有フォルダがあれば、ネットワーク越しに取得できることもありますが。 このような場合は復旧モ

    SQL Server 2008 以降のログの切り捨て at SE の雑記
  • ワークグループ環境でミラーアカウントを使用しない共有フォルダーへのバックアップの取得 at SE の雑記

    ワークグループ環境の SQL Server で、共有フォルダーに対してバックアップを取得する場合、SQL Server のサービスアカウントと同様のユーザー名/パスワードのユーザーをを共有フォルダーをホストする環境に作成し、ミラーアカウントでアクセスさせる方法があるかと思います。 共有フォルダーをホストする環境に個別のユーザーを作成しづらい場合などには、資格情報マネジャーを使用する方法をとることができるかと思いますのでこの方法を。 投稿のターゲットは Windows Server 2012 以降としています。 SQL Server のサービスを起動するユーザーですが、「NT SERVICE\MSSQLSERVER」ではうまく設定することができなかったため、ローカルユーザーかビルトインアカウントで動作させる必要がありました。 今回は、「NT AUTHORITY\NETWORK SERVIC

    ワークグループ環境でミラーアカウントを使用しない共有フォルダーへのバックアップの取得 at SE の雑記
  • SQL Server で複数データファイルを使用した場合のデータ書き込みの基本動作 at SE の雑記

    SQL Server ではファイルグループに複数のデータファイルを含めることができます。 このようなファイル構成の場合、どのようにデータが書き込まれるかを見てみたいと思います。 ■複数データファイルで構成している場合のデータ書き込み データファイルを複数の物理ディスクに配置することでデータを分散させることができ、ディスク負荷を抑えることができます。 このファイルに 1 レコード 700 バイトのレコードを 20 件挿入してみます。 今回は 4 つのデータファイルを使用しているので、各データファイルに 5 件ずつデータが挿入され、分散されるでしょうか?? SQL Server ではデータは 8KB のページに対して書き込みが行われますが、ページを格納するための領域はエクステントとして、64KB 領域の中に確保されます。 データの書き込みを行う場合には 64KB のエクステントを特定のデータフ

    SQL Server で複数データファイルを使用した場合のデータ書き込みの基本動作 at SE の雑記
    minoton
    minoton 2018/07/19
    I/Oの挙動
  • Build 2017 のキーノートで発表のあった、SQL Server / SQL Database 関連の発表をざっくりと at SE の雑記

    Build 2017 が始まりましたので、ざっくりと情報をまとめてみようかと。 de:code 2017 のネタ集めとも言います( 大枠の発表については、以下を参照してもらうとよろしいかと。 New innovations at Microsoft Build 2017: Helping developers achieve more Cloud Platform Release Announcements for May 10, 2017 Serving AI with data: A summary of Build 2017 data innovations ■Cloud Shell SQL 関連ではないですが、Cloud Shell が追加され、ポータルだけで、コマンドライン操作が可能となります。 Azure の API もコールできるので、ポータルでできることが広がりますね。 ア

    Build 2017 のキーノートで発表のあった、SQL Server / SQL Database 関連の発表をざっくりと at SE の雑記
    minoton
    minoton 2018/04/13
    Migration 参考
  • SQLDiag と SQLNexus を使用した情報取得と可視化の関連情報 at SE の雑記

    Using PSSDiag and SQL Nexus to monitor SQL Server performance How to use SQLDiag, SQLNexus and PAL tools to analyze performance issues in SQL Server SQL パフォーマンス チューニング 中上級編 vol. 3 SQLDiag / SQL Nexus ツールの利用 (前編) SQL パフォーマンス チューニング 中上級編 vol. 3 SQLDiag / SQL Nexus ツールの利用 (後編) で紹介されていますが、SQL Server の情報を取得するためのツールとして、SQLDiag というツールがあります。 SQL Server をインストールした環境であれば SQLDiag も導入されているはずですので、このツールを使用することで、

    SQLDiag と SQLNexus を使用した情報取得と可視化の関連情報 at SE の雑記
  • 独自のデータ コレクションを作成 at SE の雑記

    ちょっとメモとして残しておきたいと思います。 SQL Server 2008 以降ではデータ コレクションというパフォーマンス情報を定期的に取得できる仕組みが搭載されています。 デフォルトで作成されているシステム データ コレクション セットでは以下の 3 種類が定義されています。 クエリ統計 サーバーの利用状況 ディスク使用量 (ユーティリティ情報) SQL Server 2008 R2 で搭載されている UCP (ユーティリティ コントロール ポイント) もシステム データ コレクションの一種として作成さがされているようで、2008 R2 だと [ユーティリティ情報] というシステムデータコレクションが作成されています。 今回はこのデータ コレクションをユーザー独自に定義してカスタムしたデータ コレクションを作成してみたいと思います。 SQL Server の自習書だと、[監視ツールの

    独自のデータ コレクションを作成 at SE の雑記
  • データコレクションの情報の一元管理 at SE の雑記

    SQL Server 2008 以降はデータコレクションの機能が追加され、サーバーの各種情報をレポートとして表示することができます。 データコレクション用データベースサイズやキャッシュされるデータ分のメモリが意外と無視できないので、運用環境に設定する場合には、データコレクション用のインスタンスを用意して使用した方がよかったりします。 データコレクションを他のインスタンスで一元管理するときに接続のユーザーで少し考慮点がありますのでメモとして。 詳細については、以下の技術文書が参考になります。 データ コレクタのアーキテクチャと処理 データ コレクタの使用 データコレクションのレポートはマルチインスタンスに対応していますので、以下のように複数のインスタンスを管理することができます。 # SQL Server 2014 のインスタンスと、SQL Server 2008 のインスタンスの情報を収集

    データコレクションの情報の一元管理 at SE の雑記
  • クラッシュダンプ解析のはじめの一歩 at SE の雑記

    クラッシュダンプ解析の初めの一歩などをつらつらと。 といっても私は BSOD になった時にどのモジュールが起因したのかな~ということしか見れないので、これ以上進めませんが…。 なお、メモリダンプを解析する に書かれていることと内容は同じです。 ■Debugging Tools for Windows のインストール クラッシュダンプを解析するためには Debugging Tools for Windows をインストールする必要があります。 インストーラーはこちらからダウンロードできます。 Windows 用デバッグ ツールのダウンロードとインストール Debugging Tools for Windows のみをインストールすればよいので Debugging Tools for Windows をスタンドアロン コンポーネントとしてインストールする からインストーラーを入手します。 イン

    クラッシュダンプ解析のはじめの一歩 at SE の雑記
  • SQL Server の各種情報を取得するための参考情報を公開しました at SE の雑記

    SQL Server の各種情報を取得するための 3 種類の情報を公開させていただきました。 SQL Server の各種情報を時系列で取得するためには、パフォーマンスモニターを利用するのが一般的ですが、どのようなカウンターをとればよいのかの情報を、SQL Server パフォーマンスカウンター として公開しています。 SQL Server の動的管理ビュー  (DMV) を使用した、詳細な情報の取得については、Gist で公開しています。 パフォーマンスモニターで取得できない、詳細な情報についてはこちらのクエリで取得することができます。 これらの情報をどのように使用するかを、ここからはじめる SQL Server の状態取得 として公開しています。 パフォーマンスモニターや DMV の情報は取得するだけではなく、解析が必要です。 その解析の最初の一歩となる方法について、こちらの情報でまと

    SQL Server の各種情報を取得するための参考情報を公開しました at SE の雑記
  • リストアの検証のためにデータベースを破損させてみる at SE の雑記

    SQL Server のデータベースのリストア検証をするためにデータベースを破損させる必要のあることがあります。 データベースを意図的に破損させる方法について軽く書いてみたいと思います。 データベースのリストアを検証する場合、以下の 2 パターンを試す時があるかと思います。 データベースの破損 データページの破損 データベースの破損はデータベースのヘッダ領域や一部のファイルが破損してしまいデータベースにアクセスができない状態となります。このケースではログ末尾のバックアップの取得を行い、障害発生の直前までリストアをする検証をするパターンが考えられます。 データページの破損はページ単位のリストアやデータベースミラーリング / AlwaysOn 可用性グループのページの自動修復 / DBCC CHECKDB REPAIR_ALLOW_DATA_LOSS を使用した修復の検証をするパターンが考えら

    リストアの検証のためにデータベースを破損させてみる at SE の雑記
  • 2010 12月 20 at SE の雑記

  • SQL Server のバックアップの基本パターン at SE の雑記

    以前、SQLTO で [SQL Server のバックアップとリストアの基礎] というセッションを担当させていただきました。 ブログではバックアップについてまとめたことがなかったので少しまとめてみたいと思います。 2013/8/14 追記 投稿を見直して、内容を大幅に修正しています。 ■バックアップの基パターン バックアップの基パターンですが以下のようになると思います。 週に一度のユーザーデータベースの完全バックアップ ユーザーデータベースは完全バックアップ以外の曜日は差分バックアップ 毎日システムデータベースを完全バックアップ 一日に定期的な間隔でトランザクションログをバックアップ 過去のバックアップファイル (bak/trn) の削除 過去のメンテナンスプラン テキストレポート (txt) の削除 過去のバックアップログ (msdb のレコード) の削除 SQL Server のバ

    SQL Server のバックアップの基本パターン at SE の雑記
  • SQLIOSIM を使用したストレステストの実施 at SE の雑記

    SQL Server には SQLIOSIM というストレステストを実施するためのツールが提供されています。 SQLIOSim ユーティリティを使用して、ディスク サブシステム上の SQL Server アクティビティをシミュレートする方法 このツールは SQL Server をインストールしなくても SQL Server と同等の I/O パターンをシミュレートしてストレージに対して負荷をかけることができるツールとなっています。SQL Server 2005 までは別途ダウンロードする必要があったのですが、SQL Server 2008 以降はインスタンスのディレクトリに標準で含まれるようなりました。 ただし標準で含まれている SQLIOSIM のコンポーネントには、サンプルの構成ファイル群 (sqliosim.cfg.zip) が含まれていませんので、これらのファイルが使用したい場合に

    SQLIOSIM を使用したストレステストの実施 at SE の雑記
  • SQLIO を使用したディスク I/O のベンチマーク at SE の雑記

    以前、SQLIOSIM を使用したストレステストの実施 という投稿を書きました。 SQL Server の IO パターンをテストするツールとして SQLIO Disk Subsystem Benchmark Tool (SQLIO) というツールもあります。 このツールを使用してディスク I/O のベンチマークを実施するための方法を軽くまとめてみたいと思います。 SQLIO, PowerShell and storage performance: measuring IOPs, throughput and latency for both local disks and SMB file shares もとても参考になりますのでこちらも一読してみるとよいかと。 ■ツールの実行方法 SQLIOSIMGUI から実行することができましたが SQLIO は CUI のみのツールとなって

    SQLIO を使用したディスク I/O のベンチマーク at SE の雑記
  • SQL Server の評価版から製品版への移行 at SE の雑記

    TechNet フォーラムを見ていて、どうやるんだったかなと思い軽くまとめてみました。 内容については SQL Server 2005 評価版から製品版へのアップグレードについて にまとまっています。 紹介されている以下の情報を読んでおくとよさそうですね。 サポートされているバージョンとエディションのアップグレード SQL Server 2005 の評価版の有効期限が切れたインストールは、SQL Server 2005 の製品版にアップグレードしようとするとエラー メッセージが表示されます。 ■評価版から製品版への移行 スタートメニューのプログラムから SQL Server のインストールセンターを起動します。 インストールセンターが起動したら [メンテナンス] の [エディションのアップグレード] を選択することで移行を開始することができます。 評価版から製品版に移行するためには移行先の

    SQL Server の評価版から製品版への移行 at SE の雑記
  • SQL Server 2008 R2 と SQL Azure のサーバー / データベースプロパティの比較 at SE の雑記

    ■サーバープロパティの比較 まずはサーバープロパティの比較から。 使用した SQL は以下になります。 SQL Server 2008 R2 / SQL Azure 共に同じ SQL で実行可能です。 SELECT SERVERPROPERTY(‘BuildClrVersion’) AS BuildClrVersion, SERVERPROPERTY(‘Collation’) AS Collation, SERVERPROPERTY(‘CollationID’) AS CollationID, SERVERPROPERTY(‘ComparisonStyle’) AS ComparisonStyle, SERVERPROPERTY(‘ComputerNamePhysicalNetBIOS’) AS ComputerNamePhysicalNetBIOS, SERVERPROPERTY(‘Ed

    SQL Server 2008 R2 と SQL Azure のサーバー / データベースプロパティの比較 at SE の雑記
  • SQL Server のバックアップのリストアと互換性レベルの整理 at SE の雑記

    ※1 SQL Server 2014 に SSMS で接続した場合、GUI では互換性レベル 90 が表示されていますが、選択することができないので、対応しているのは 100 以降となります。 SQL Server では、リストアが可能なバージョンのバックアップをリストアした場合、互換性レベルの確認も行っており、 リストアには対応しているが、互換性レベルが対応していない というリストアを行った場合、対応している最下位の互換性レベルまでバージョンアップされます。 例としては以下のような状況を想像してみてください。 SQL Server 2000 で互換性レベル 65 で使用していたデータベースを SQL Server 2008 R2 にリストア SQL Server 2008 R2 では、SQL Server 2000 のバックアップをリストアすることが可能です。 # このマトリクスは後述し

    SQL Server のバックアップのリストアと互換性レベルの整理 at SE の雑記
  • 1