ビュー:

重要なお知らせ:
データベースのメンテナンスと保守は、複雑で非常に時間のかかる作業であるため、データベースの専門家が行う必要があります。DocuWareでは、データベースのメンテナンスに関する限定的なサポートを提供してきました。この作業には、データベース構造に関する深い技術的理解が必要です。私たちの経験では、データベースのケアとメンテナンスが実施されなかったため、その後、個々のDocuWareシステムのパフォーマンス問題につながりました。インデックスのデフラグや、必要なインデックスの維持・再作成は、データベースの深い知識を必要とする不可欠かつ困難な作業です。
したがって、データベースのメンテナンスは、サポートサービスの一部ではありません。DocuWareからのサポートや支援が必要な場合は、有償でのご提供となります。この場合、事前に弊社プロフェッショナルサービス部門(professional.services.emea@DocuWare.com または professional.services.americas@DocuWare.com )までご連絡いただくことをお勧めします。


。DocuWareデータベースの深い知識に加え、MSSQLデータベースを正しくメンテナンスするために役立つ、Microsoft SQL Database MSDN (Microsoft Developer Network)の最も重要な公式記事を集めました。
Microsoft Developer Networkは、マイクロソフトの公式ナレッジベースです。


ベストプラクティスの推奨


データベース・サーバーの保存場所を Windowsシステム・パーティションに置かないことをお勧めします。Windowsシステムパーティション(通常はC:∕)は、スワップファイルやその他の重要なシステム関連プロセスにすでに使用されているため、ある程度の使用率や負荷がある可能性があります。
その代わりに、データベースを別のパーティションに格納することをお勧めします。DocuWareデータベースは、他のデータベースから物理的に分離されているのが理想的です。これは、システムに必要なパフォーマンスを提供し、推奨されるだけでなく、緊急時のトラブルシューティングを容易にします。



- データベース (*.mdf ファイル) - ログ (*.ldf ファイル) - SQL Server エンジン パーティションが同じ物理または仮想ハードドライブ上にないことを確認してください。




インデックスのメンテナンス

https://docs.microsoft.com/en-us/sql/relational-databases/indexes/reorganize-and-rebuild-indexes?view=sql-server-ver15
インデックスの断片化は、最終的にシステムや作業プロセスを遅くする可能性があります。可能な限り最高のパフォーマンスを得るために、これらのインデックスのメンテナンスを毎月行うことをお勧めします。
インデックスは重複せず、一意であるべきです。
https://docs.microsoft.com/en-us/sql/relational-databases/indexes/create-clustered-indexes?view=sql-server-ver15

https://docs.microsoft.com/en-us/sql/relational-databases/indexes/create-nonclustered-indexes?view=sql-server-ver15

データベース・インデックスとは、データ構造とは別に、特定のフィールドによる検索やソートを高速化するためのデータベース内のインデックス構造のことです。

インデックスは、テーブル内の1つ以上のカラムに対する順序関係を定義するポインタ(参照)のコレクションから構成されます。
インデックスがなければ、カラムを1つずつ検索しなければなりませんが、インデックスを使用した検索では、ポインタが参照するカラムを探すだけです。



sys.dm_db_missing_index_details
https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-db-missing-index-details-transact-sql?view=sql-server-ver15
このスクリプトは非常に重要で、存在しないインデックスに関する関連情報を提供します

tempdbを分割します:

https://docs.microsoft.com/en-US/troubleshoot/sql/performance/recommendations-reduce-allocation-contention
tempdbデータベースが大量に使用されている場合、SQL Serverがページを割り当てようとすると、競合が発生することがあります。競合の程度にもよりますが、tempdbを使用するクエリーやリクエストが一時的に応答しなくなることがあります。
最悪のシナリオは、他のプロセスをブロックするような長時間実行するクエリーでしょう。

事前にファイルキャビネットを構造化する
MSSQLサーバーに適した範囲でファイルキャビネットを構築することをお勧めします。
カラムが多ければ多いほど、関係するフィールドも増えます。検索されるフィールドが多ければ多いほど、サーバー上のデータベース・クエリはより複雑で大規模なものになります。
データベース・サーバーがこれを処理できるように設計され、パフォーマンスと保守性を備えていない限り、1つの大きなファイル・キャビネットではなく、2つの小さなファイル・キャビネットを持つ方が理にかなっています。
インデックス・フィールドの総数を減らすことを検討してください。インデックス・フィールドの数が多ければ多いほど、クエリは複雑になり、SQLサーバーの負荷も高くなります。


自分のサーバーを知りましょう:


メモリ (RAM)
CPU
IO-サブシステム (ハードドライブなど)


DocuWareデータベースの最大の部分はフルテキストかもしれません。これが完全に使用されていない場合、この経験則を守る必要はありません。
ワークフロー履歴や監査も、それに応じて容量を使用します。
ハードウェアを節約することはお勧めしません。RAMやCPUを増やすことで、短期的に問題を解決し、作業プロセスをブロックする障害を防ぐことができます。

CPU側で高負荷が発生した場合は、現在の使用率を確認し、現在の使用サイズとアーキテクチャに対してコア数が適切かどうかを確認してください。

弊社のシステム推奨値を超えるProductive環境では、MSSQL Express Editionを使用しないでください:
MSSQL Server Express Editionは、CPUとRAMの使用率に関して制限があります:

MSSQLServer 2016 Express + Other editions
https://docs.microsoft.com/en-us/sql/sql-server/editions-and-components-of-sql-server-2016?view=sql-server-ver15
MSSQLServer 2017 Express + Other editions
https://docs.microsoft.com/en-us/sql/sql-server/editions-and-components-of-sql-server-2017?view=sql-server-ver15
MSSQLServer 2019 Express + Other editions
https://docs.microsoft.com/en-us/sql/sql-server/editions-and-components-of-sql-server-version-15?view=sql-server-ver15

データベース・サーバーのパフォーマンスを安定させるために、マイクロソフトが提供する以下の MSDN 公式記事もご覧ください。

メモリ最適化テーブルとインメモリ OLTP を使用するための要件とメモリ最適化
https://docs.microsoft.com/en-us/sql/relational-databases/in-memory-oltp/requirements-for-using-memory-optimized-tables?view=sql-server-ver15
https://docs.microsoft.com/en-us/sql/relational-databases/in-memory-oltp/in-memory-oltp-in-memory-optimization?view=sql-server-ver15

サーバーのメモリ構成オプション
https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/server-memory-server-configuration-options?view=sql-server-ver15

メモリ使用量の監視
https://docs.microsoft.com/en-us/sql/relational-databases/performance-monitor/monitor-memory-usage?view=sql-server-ver15

SQL Server の設計に関する考慮事項
https://docs.microsoft.com/en-us/system-center/scom/plan-sqlserver-design?view=sc-om-2019&viewFallbackFrom=sc-om-1711

バックアップの概要(SQL Server)
https://docs.microsoft.com/en-us/sql/relational-databases/backup-restore/backup-overview-sql-server?view=sql-server-ver15

KBA はオンプレミス組織のみに適用されます。

注意:この記事英語からの翻訳ですこの記事まれる情報オリジナルの英語版製品づくものです。翻訳版記事使用されている文法などには、細かいりがある場合があります。翻訳正確さを完全保証することは出来かねますがほとんどの場合、十分情報られるとわれます。万一、疑問じた場合、英語版記事えてごください