HowTo: Management Studio を使ってトランザクションログファイル (ldf) のサイズを小さくする方法

  神谷 雅紀 Escalation Engineer   「ログファイルが大きくなってディスク領域を圧迫し始めているので、ファイルサイズを小さくしたい」という内容の問合わせは今でも多く寄せられます。今回は、SQL Server Management Studio GUI を使って、トランザクションログファイルのサイズを小さくする手順を紹介します。 ここに記載した方法で、トランザクションログファイルのサイズを小さくしたいという状況のほとんどに対応可能だと思います。 ここに記載した方法でトランザクションログファイルのサイズを小さくできない場合は、おそらく、トランザクションログファイルのサイズを小さくする前に、レプリケーションやミラーリングのトラブルシューティングなどが必要になるでしょう。   ステップ 1 : データベースの復旧モデルを確認する 復旧モデルが「単純」かそれ以外かによって、以降の手順が違ってきますので、まず最初に、データベースの復旧モデルを確認します。 手順 復旧モデルを確認するために、データベースのプロパティを表示します。データベースのプロパティは、オブジェクトエクスプローラでデータベース名を右クリックし、「プロパティ」をクリックすることで表示できます。 表示されたダイアログボックスの左ペインで「オプション」を選択すると、右ペインに「復旧モデル」が表示されます。復旧モデルは、「単純」「完全」「一括ログ」のいずれかです。   ステップ 2 : トランザクションログをバックアップする トランザクションログは、データベースファイルへの更新履歴ですので、データベースに対して更新を行うたびにトランザクションログファイルには履歴データが記録され、何もしなければ、トランザクションログファイル内の履歴データはどんどん増えていきます。 復旧モデルが「単純」の場合は、トランザクションログファイル内のデータ量が一定量を超えると、SQL Server がファイルの中身を消し、ファイル内に空き領域を作り、空いた領域は再利用されます。 一方、復旧モデルが「完全」または「一括ログ」に設定されている場合は、過去に一度でもデータベースの完全バックアップ (データベースフルバックアップ) を取得していると、SQL Server はファイルの中身を消すことはしませんので、トランザクションログファイル内のデータは、バックアップしなければ削除されません。 このステップ 2 は、復旧モデルが「完全」または「一括ログ」の場合のみ行います。「単純」の場合は、次のステップ 3 に進みます。 手順 データベースを右クリックし、「タスク」 –  「バックアップ」をクリックします。 「バックアップの種類」として「トランザクションログ」を選びます。もし、復旧モデルが「単純」に設定されている場合は、「トランザクションログ」は選択できません。 「バックアップセットの有効期限」は既定のまま、「バックアップ先」は、バックアップデータを書き込むファイル名を指定します。「ディスク」を指定して、「追加」でファイル名を指定して下さい。そのサーバーにテープデバイスがある場合には、「テープ」を選んでも構いません。 最後に「OK」を押すと、バックアップが開始されます。   復旧モデルが「完全」または「一括ログ」であっても、データベースの完全バックアップが一度も取得されていない場合、トランザクションログのバックアップは以下のエラーで失敗します。   メッセージ 4214、レベル 16、状態…

4

イベントログに SQL Server 関連のパフォーマンス ライブラリで 警告 2003 が発生した場合の対処方法について

高原 伸城 Support Escalation Engineer   皆さん、こんにちは。 BI Data Platform サポートチームの 高原 です。 今回は、イベントログに SQL Server 関連のパフォーマンス ライブラリで 警告 2003 が発生した場合の対処方法について紹介します。   Microsoft-Windows-Perflib: 警告: 2003: “MSSQLSERVER” サービスのパフォーマンス ライブラリ “perf-MSSQLSERVER-sqlctr**.*.****.*.dll” の構成情報が、レジストリに保存されている信頼されたパフォーマンスライブラリの情報に一致しませんでした。このライブラリの関数は信頼されているものとして処理されません。   [原因] SQL Server のパフォーマンス ライブラリ “perf-MSSQLSERVER-sqlctr**.*.****.*.dll” のファイル作成時刻やファイルサイズが、レジストリに格納されている情報と一致していない場合に発生します。   [影響] 前述の通り、情報のズレを報告するために記録される警告ですが、実動作 (パフォーマンス カウンタの採取など) への影響はありません。   [対処方法] SQL Server のパフォーマンス ライブラリ を再登録することで、警告 2003 は解消します。   #…

0

2017 年 9月 SQL Server 最新モジュール

2017 年 9月 19日 時点の SQL Server 最新モジュールです。 SQL Server 2005 は 2016 年 4 月 12 日に延長サポートが終了しました。長らくのご愛用ありがとうございました。 SQL Server 2008 は 2014 年 7 月 8 日にメインストリームサポートが終了しました。 SQL Server 2012 は 2017 年 7 月 11 日にメインストリームサポートが終了しました。 サービス パック 更新プログラム バージョン リリース年月 SQL Server 2016 SP1 KB 4040714 (CU5) 13.0.4451.0 2017/9 メインストリームサポート SQL Server…

0

SQL Server/Azure SQL Database で使用可能なデータの暗号化機能について

高原 伸城 Support Escalation Engineer   皆さん、こんにちは。 BI Data Platform サポートチームの 高原 です。 今回は、SQL Server/Azure SQL Database で使用可能なデータの暗号化機能について紹介します。   SQL Server/Azure SQL Database で使用可能なデータの暗号化機能として、以下の機能があります。 今回は、透過的なデータ暗号化(TDE : Transparent Data Encryption)について紹介します。 ■ 透過的なデータ暗号化(TDE : Transparent Data Encryption) ■ 暗号化関数 ■ Always Encrypted   メモリ データ/トランザクションログ (ストレージ) 透過的なデータ暗号化 平文状態 暗号化を有効化したデータベースの全データが暗号化状態 暗号化関数 暗号化指定した列は暗号化状態 暗号化指定した列は暗号化状態 Always Encypted 暗号化指定した列は暗号化状態 暗号化指定した列は暗号化状態  …

0

Azure SQL Databaseの適切な価格レベル(DTU)を選択する指標について

  Microsoft SQL Server/Microsoft Azure SQL Database サポート 田中 真人 皆さん、こんにちは。 Microsoft SQL Server/Microsoft Azure SQL Database サポートチーム です。 日ごろから、Azure サービスをご愛顧頂き誠にありがとうございます。 今回は、日々のサポート業務において、比較的お問合せをいただくSQL Database の適切な価格レベル(DTU)を選択する指標について記載致します。   初めに、DTUとは何かについて記載します。既に DTU についてご存知の方は「2)適切なDTUを選択する指標」へ飛んで下さい。   +++++++++++++++++++++++++++++++++++++++++++ 1)DTUとは +++++++++++++++++++++++++++++++++++++++++++ DTUとは、SQL Database のデータベースの処理性能を表す単位であり、SQL Databaseにおける各サービスレベルの性能を表す為の指標の1つです。 DTUはベンチマークテストにより、弊社が独自で決めており、具体的には、各サービスレベルのCPU、メモリ、およびディスクの読み書きを組み合わせた測定に基づいて算出しております。 DTUの概要の詳細は以下サイトをご確認ください。   ■SQL Database のオプションとパフォーマンス: 各サービス階層で使用できる内容について理解します https://azure.microsoft.com/ja-jp/documentation/articles/sql-database-service-tiers/ –サイト内抜粋 ここから— DTU について データベース トランザクション ユニット (DTU) は、データベースのトランザクションという実際の測定に基づいたデータベースの相対的な能力を表す SQL Database…

1