SharePoint Server ファーム内の SQL Server のベスト プラクティスBest practices for SQL Server in a SharePoint Server farm

適用対象:はい2013 yes2016 yes2019 SharePointOnline なしAPPLIES TO: yes2013 yes2016 yes2019 noSharePoint Online

SQL Server 2014 Service Pack 1 (SP1)、SQL Server 2016、または SQL Server 2017 RTM で SharePoint Server 2016 および2019リレーショナルデータベースを構成および管理する場合は、パフォーマンスとセキュリティを促進するためのオプションを選択する必要があります。When you configure and maintain SharePoint Server 2016 and 2019 relational databases on SQL Server 2014 with Service Pack 1 (SP1), SQL Server 2016, or SQL Server 2017 RTM, you have to choose options that promote performance and security. 同様に、SQL Server 2008 R2 Service Pack 1 (SP1)、SQL Server 2012、および SQL Server 2014 で SharePoint Server 2013 リレーショナル データベースを構成および管理するときも、パフォーマンスとセキュリティを促進するためのオプションを選択する必要があります。Likewise, you have to choose options that promote performance and security when you configure and maintain SharePoint Server 2013 relational databases on SQL Server 2008 R2 with Service Pack 1 (SP1), SQL Server 2012, and SQL Server 2014.

この記事のベスト プラクティスは、SQL Server のインストールと構成から、SharePoint Server を展開し、その後のファームの管理にいたるまで、適用される一連の手順に基づいて並べられています。大半のプラクティスはすべてのバージョンの SQL Server に適用されます。SQL Server バージョンに固有のプラクティスは、別のセクションに示されます。The best practices in this article are ordered based on the sequence in which they would apply, from installing and configuring SQL Server, to deploying SharePoint Server, and then maintaining the farm. Most of the practices apply to all versions of SQL Server. Practices that are unique to SQL Server versions are shown in separate sections.

注意

SharePoint Server 2016 ファームでSQL Server ビジネス インテリジェンス コンポーネントの使用を計画している場合は、SQL Server 2016 CTP 3.1 以降を使用する必要があります。今すぐ SQL Server 2016 CTP 3.1 以降をダウンロードして、SQL Server Power Pivot for SharePoint アドインを使用することができます。SharePoint 統合モードの SQL Server Reporting Services (SSRS) と SSRS フロント エンド アドインを SQL Server のインストール メディアからインストールすると、Power View も使用できます。If you plan to use SQL Server Business Intelligence components in a SharePoint Server 2016 farm you must use SQL Server 2016 CTP 3.1 or later. You can now download SQL Server 2016 CTP 3.1 or later to use the SQL Server Power Pivot for SharePoint add-in. You can also use Power View by installing SQL Server Reporting Services (SSRS) in SharePoint-integrated mode and the SSRS front-end add-in from the SQL Server installation media.

詳細については、新しいホワイトペーパー「SharePoint 2016 での SQL Server 2016 PowerPivot および Power View の展開」をダウンロードしてください。複数のサーバー SharePoint Server 2016 ファームでのビジネス インテリジェンスの構成および展開の詳細については、「多層 SharePoint 2016 ファームでの SQL Server 2016 PowerPivot および Power View の展開」をダウンロードしてください。For more information, download the new Deploying SQL Server 2016 PowerPivot and Power View in SharePoint 2016 white paper. For details about configuring and deploying business intelligence in a multiple server SharePoint Server 2016 farm, download Deploying SQL Server 2016 PowerPivot and Power View in a Multi-Tier SharePoint 2016 Farm.

注意

SharePoint Server 2013 ファームで SQL Server ビジネス インテリジェンス コンポーネントの使用を計画する場合、SQL Server 2012 Service Pack 1 (SP1) または SQL Server 2014 を使用する必要があります。SQL Server 2012 SP1 BI および SharePoint Server 2013 の詳細については、「SharePoint 2013 を使用した SQL Server BI 機能のインストール (SQL Server 2012 SP1)」を参照してください。SQL Server 2014 と SharePoint Server 2013 について詳しくは、「SQL Server のビジネス インテリジェンス機能のインストール」を参照してください。If you plan to use SQL Server Business Intelligence components in a SharePoint Server 2013 farm you must use SQL Server 2012 with Service Pack 1 (SP1) or SQL Server 2014. For information about SQL Server 2012 with SP1 BI and SharePoint Server 2013, see Install SQL Server BI Features with SharePoint 2013 (SQL Server 2012 SP1). For more information about SQL Server 2014 and SharePoint Server 2013, see Install SQL Server 2014 Business Intelligence Features.

重要

この記事のベスト プラクティスは、SQL ServerSharePoint Server のリレーショナル データベース管理システム (RDBMS) に適用されます。Best practices in this article apply to the Relational Database Management System (RDBMS) of SQL Server with SharePoint Server.

SQL Server の専用サーバーを使用するUse a dedicated server for SQL Server

ファームの動作について最適なパフォーマンスを確保するために、他のファームの役割を実行せず、他のアプリケーションのデータベースをホストしない専用サーバーに SQL Server をインストールすることをお勧めします。To ensure optimal performance for farm operations, we recommend that you install SQL Server on a dedicated server that does not run other farm roles and does not host databases for other applications. 唯一の例外は、SharePoint Server 2016 または2019を、スタンドアロンサーバーの単一サーバーファームの役割または SharePoint 2013 に展開することです。これは開発またはテストのためのものであり、運用環境での使用は推奨されていません。The only exception is deployment of SharePoint Server 2016 or 2019 in a Single-Server farm role or SharePoint 2013 on a stand-alone server, which is meant for development or testing, and is not recommended for production use. 詳細については、「 sharepoint server 2016 および2019の MinRole と関連付けられているサービスの説明」および「 sharepoint server 2016 または2019を1台のサーバーにインストールする」を参照してください。For more information, see Description of MinRole and associated services in SharePoint Servers 2016 and 2019 and Install SharePoint Servers 2016 or 2019 on one server.

注意

リレーショナル データベースに専用サーバーを使用するという推奨事項は、仮想環境での SQL Server の展開にも適用されます。The recommendation to use a dedicated server for relational databases also applies to deploying SQL Server in virtual environments.

SharePoint Server を展開する前に特定の SQL Server 設定を構成するConfigure specific SQL Server settings before you deploy SharePoint Server

一貫性のある動作とパフォーマンスを実現するには、SharePoint Server を展開する前に以下のオプションおよび設定を構成します。To ensure consistent behavior and performance, configure the following options and settings before you deploy SharePoint Server.

  • SharePoint コンテンツ データベースで統計の自動作成を有効にしないでください。統計の自動作成の有効化は SharePoint Server でサポートされていません。SharePoint Server ではプロビジョニングおよびアップグレード中に必要な設定を構成します。SharePoint データベースで統計の自動作成を手動で有効化すると、クエリの実行計画が大幅に変更される場合があります。SharePoint データベースは、統計 (proc_UpdateStatistics) を管理するストアド プロシージャを使用するか、これを実行するために SQL Server を使用します。Do not enable auto-create statistics on SharePoint content databases. Enabling auto-create statistics is not supported for SharePoint Server. SharePoint Server configures the required settings during provisioning and upgrade. Manually enabling auto-create statistics on a SharePoint database can significantly change the execution plan of a query. The SharePoint databases either use a stored procedure that maintains the statistics (proc_UpdateStatistics) or rely on SQL Server to do this.

  • SharePoint Server 2013 の場合、メンテナンスプランは SharePoint によって管理されます。For SharePoint Server 2013, Maintenance Plans are managed by SharePoint:

    • SQL 統計情報は、proc_updatestatics を呼び出す "SharePoint で使用されているデータベースに古いインデックス統計情報があります" という正常性ルールによって管理されます。SQL statistics are managed by the health rule “Databases used by SharePoint have outdated index statistics” that calls proc_updatestatics
    • コンテンツデータベースの自動更新統計プロパティがFalseに設定されているContent databases have the Auto Update Statistics property set to False
  • SharePoint Server 2016 および2019の場合、SQL 管理者は SharePoint コンテンツデータベースのメンテナンスプランを作成する必要があります。For SharePoint Servers 2016 and 2019, SQL administrator must create Maintenance Plans for SharePoint content databases:

    • SQL 統計情報は、"SharePoint で使用されているデータベースに古いインデックス統計情報があります" という正常性ルールによって管理されません。SQL statistics are not managed by the health rule “Databases used by SharePoint have outdated index statistics”
    • コンテンツデータベースの自動更新統計プロパティがTrueに設定されている `Content databases have the Auto Update Statistics property set to True `
  • SharePoint データベースをホストする SQL Server のインスタンスに対する並列処理の最大限度 (MAXDOP) を 1 に設定し、単一の SQL Server プロセスがそれぞれの要求を処理するようにします。Set max degree of parallelism (MAXDOP) to 1 for instances of SQL Server that host SharePoint databases to make sure that a single SQL Server process serves each request.

    重要

    並列処理の最大限度にその他の数字を設定すると、使用されるクエリ計画が最適でなくなり、SharePoint Server のパフォーマンスを低下させる場合があります。Setting the max degree of parallelism to any other number can cause a less optimal query plan to be used that will decrease SharePoint Server performance.

  • データベースを別のサーバーに簡単に移動できるようにするなど、メンテナンスを簡略化するには、SQL Server のすべてのインスタンスの IP アドレスをポイントする DNS エイリアスを作成します。DNS またはホスト名のエイリアスの詳細については、SQL Server インスタンスのホスト名エイリアスを追加する方法 を参照してください。To help simplify maintenance, such as to make it easier to move databases to another server, create DNS aliases that point to the IP address for all instances of SQL Server. For more information about DNS or Hostname aliases, see How to Add a Hostname Alias for a SQL Server Instance.

これらの SQL Server 設定およびオプションの詳細については、「SQL Server のオプションを設定する」をご覧ください。For more information about these SQL Server settings and options, see Set SQL Server options.

SharePoint Server を展開する前にデータベース サーバーを堅牢にするHarden the database server before you deploy SharePoint Server

SharePoint Server を展開する前にデータベース サーバーを堅牢にする計画をお勧めします。詳細については、以下をご覧ください。We recommend that you plan for, and harden the database server before you deploy SharePoint Server. For more information, see:

パフォーマンスと可用性の確保のためにデータベース サーバーを構成するConfigure database servers for performance and availability

フロントエンド サーバーおよびアプリケーション サーバーと同様に、データベース サーバーの構成は SharePoint Server の良好な実行に影響します。As is the case with front-end servers and application servers, the configuration for database servers affects how well SharePoint Server performs. 他のデータベースと同じサーバー上に存在する必要のあるデータベースもあります。Some databases have to be on the same server as other databases. 反対に、他のデータベースと同じサーバー上に配置できないデータベースもあります。Conversely, some databases cannot be on the same server as other databases. 詳細については、「SharePoint server 2016 および2019および「 Storage AND SQL server capacity planning and configuration (Sharepoint server) 」の「MinRole and 関連サービスの説明」を参照してください。For more information, see Description of MinRole and associated services in SharePoint Servers 2016 and 2019 and Storage and SQL Server capacity planning and configuration (SharePoint Server).

ミラーリングを使用する可用性の高いデータベースのガイダンスについては、「データベース ミラーリング (SQL Server)」を参照してください。For guidance about highly available databases that use mirroring, see Database Mirroring (SQL Server).

SQL Server フェールオーバー クラスタリングと AlwaysOn 可用性グループSQL Server Failover Clustering and Always On Availability Groups

SQL Server 2012 では、AlwaysOn 可用性グループ機能が導入されています。この機能は、高可用性と、データベース ミラーリングやログ配布ソリューションに代わる災害復旧ソリューションです。現在 AlwaysOn 可用性グループは、最大 9 つの可用性レプリカをサポートします。SQL Server 2012 introduced the AlwaysOn Availability Groups feature. This feature is a high availability and disaster recovery solution that's an alternative to database mirroring and log shipping solutions. AlwaysOn Availability Groups now support up to nine availability replicas.

注意

データベース ミラーリングは、SQL Server の将来のバージョンで非推奨になります。Always On 可用性グループの使用をお勧めします。Database mirroring will be deprecated in future versions of SQL Server. We recommend using Always On Availability Groups.

AlwaysOn 可用性グループには、Windows Server フェールオーバー クラスタリング (WSFC) クラスターが必要です。WSFC リソース グループは作成されるすべての可用性グループに作成されます。詳細については、以下をご覧ください。AlwaysOn Availability Groups require a Windows Server Failover Clustering (WSFC) cluster. A WSFC resource group is created for every availability group that is created. For more information, see the following resources:

最適なスループットと管理性のためにストレージをデザインするDesign storage for optimal throughput and manageability

データベース サーバーの複数のドライブにデータを分割し、それに優先順位を付けることをお勧めします。tempdb データベース、コンテンツ データベース、利用状況データベース、検索データベース、およびトランザクション ログを別々の物理ハード ディスクに配置するのが理想的です。以下のリストではガイダンスを示します。詳細については、「データベースを構成する」をご覧ください。We recommend that you separate, and prioritize your data among the drives on the database server. Ideally, you should place the tempdb database, content databases, usage database, search databases, and transaction logs on separate physical hard disks. The following list provides some guidance. For more information, see Configure databases.

  • グループ作業サイトまたは更新を多用するサイトの場合、ストレージ配布に以下のランク付けを使用します。For collaboration or update-intensive sites, use the following ranking for storage distribution.

    最も高くランク付けされたアイテムを最速のドライブに配置する必要があります。The highest ranked item should be in the fastest drives.

    RankRank 項目Item
    1-d1 tempdb データファイルとトランザクションログtempdb data files and transaction logs
    pbm-22 コンテンツデータベースのトランザクションログファイルContent database transaction log files
    1/33 検索データベース (検索管理データベースは除く)Search databases, except for the Search administration database
    2/44 コンテンツデータベースのデータファイルContent database data files
  • 読み取り指向の高いポータル サイトでは、以下のとおりデータに優先順位を付けて、トランザクション ログを検索します。In a heavily read-oriented portal site, prioritize data and search over transaction logs as follows.

    最も高くランク付けされたアイテムを最速のドライブに配置する必要があります。The highest ranked item should be in the fastest drives.

    RankRank 項目Item
    1-d1 tempdb データファイルとトランザクションログtempdb data files and transaction logs
    pbm-22 コンテンツデータベースのデータファイルContent database data files
    1/33 検索データベース (検索管理データベースは除く)Search databases, except for the Search administration database
    2/44 コンテンツデータベースのトランザクションログファイルContent database transaction log files
  • テストとユーザー データにより、不十分な tempdb のディスク I/O はファーム全体のパフォーマンスを著しく妨げる可能性があることが示されています。この問題を回避するために、tempdb データ ファイルを格納するドライブに専用ディスクを割り当てます。Testing and user data shows that insufficient disk I/O for tempdb can significantly impede overall farm performance. To avoid this issue, allocate dedicated disks for the drive that stores tempdb data files.

  • 最適なパフォーマンスが得られるように、tempdb データ ファイルを格納するドライブに RAID 10 配列を使用します。tempdb データ ファイルの数は CPU コアの数と同じである必要があり、各 tempdb データ ファイルは同じサイズで設定する必要があります。For best performance, use a RAID 10 array for the drive that stores tempdb data files. The number of tempdb data files should equal the number of CPU cores, and each tempdb data file should be set to the same size.

  • データベース データおよびトランザクション ログ ファイルを個別のディスクに分割します。ディスク領域に制限があるためデータおよびログ ファイルがディスクを共有する必要がある場合、別の使用状況パターンを含むファイルを同じディスク上に配置し、同時アクセス要求を最小限に抑えます。Separate database data and transaction log files across different disks. If data and log files must share disks due to space limitations, put files that have different usage patterns on the same disk to minimize concurrent access requests.

  • 多用されるコンテンツ データベースに複数のデータ ファイルを使用し、それぞれのファイルをそれ自体のディスクに置きます。Use multiple data files for heavy-use content databases, and put each on its own disk

  • 管理性を向上させるには、データベース サイズを制限するのではなく、200 GB 以下に保たれるようにコンテンツ データベースを監視および調整します。To improve manageability, monitor and make adjustments as needed to keep content databases below 200 GB, rather than restrict the database size.

    注意

    SQL Server のデータベース サイズを手動で制限する場合、容量を超えたときに予期しないシステムのダウンタイムが発生することがあります。If you manually restrict database size in SQL Server, you can cause unexpected system downtime when the capacity is exceeded.

I/O サブシステムを正しく構成することは、SQL Server システムの最適なパフォーマンスおよび操作にとって非常に重要です。詳しくは、「ディスク使用量の監視」をご覧ください。Proper configuration of I/O subsystems is very important to the optimal performance and operation of SQL Server systems. For more information, see Monitoring Disk Usage

ヒント

データ ファイルとログ ファイルの間で変化するディスク スピードを測定する方法を考慮します。データベース データにとって最速のドライブが、ログ ファイルにとって最速であるとは限りません。使用パターン、I/O、およびファイル サイズを考慮してください。Consider that how you measure disk speed varies between data files and log files. The fastest drives for database data may not be the fastest for log files. Consider usage patterns, I/O, and file size.

事前にデータおよびログ ファイルの増加を管理するProactively manage the growth of data and log files

事前にデータおよびログ ファイルの増加を管理するための推奨事項を以下に示します。Following are recommendations to proactively manage the growth of data and log files:

  • 可能な場合は、すべてのデータ ファイルおよびログ ファイルを予想される最終サイズまで増やすか、定期的に設定された期間 (例: 毎月または 6 カ月ごと、またはファイルの移行中などに新しいストレージが大量に消費されるロールアウト前) に増加させます。When possible, increase all data files and log files to their expected final size, or periodically increase these at set periods, for example, every month or every six months, or before rollout of a new storage-intensive site such as during file migrations.

  • 予防的な措置としてデータベースの自動拡張を有効にし、データおよびログ ファイルのディスク領域が不足しないようにします。以下のことを考慮してください。Enable database autogrowth as a protective measure to make sure that you do not run out of space in data and log files. Consider the following:

    重要

    自動拡張の使用に関連するパフォーマンスおよび運用の問題を詳細に検討する必要があります。詳細については、「SQL Server における自動拡張および自動圧縮の構成に関する注意事項」を参照してください。You must factor in the performance and operations issues associated with using autogrowth. For more information, see Considerations for the "autogrow" and "autoshrink" settings in SQL Server.

    • 新規データベース用の既定の設定では 1 MB ずつ増加します。この既定の自動拡張の設定はデータベースのサイズを増加させるため、既定の設定は使用しないでください。代わりに、「SQL Server のオプションを設定する」で示されるガイダンスを使用します。The default settings for a new database are to grow by 1 MB increments. Because this default setting for autogrowth results in increases in the size of the database, do not rely on the default setting. Instead, use the guidance provided in Set SQL Server options.

    • 自動拡張の値にパーセンテージではなく、固定の MB 数を設定します。データベースが大きいほど、拡張増分も大きくする必要があります。Set autogrowth values to a fixed number of megabytes instead of to a percentage. The bigger the database, the bigger the growth increment should be.

      注意

      SharePoint データベースに自動拡張機能を設定する際は注意が必要です。データベースの自動拡張をパーセンテージで設定する場合 (例: 10% の増加率)、5 GB のデータベースはデータ ファイルを拡張する必要があるたびに 500 MB ずつ増やされます。このシナリオではディスク領域が不足する可能性があります。Use care when you set the autogrowth feature for SharePoint databases. If you set a database to autogrow as a percentage, for example at a 10-percent (%) growth rate, a database that is 5 GB grows by 500MB every time that a data file has to be expanded. In this scenario, you could run out of disk space.

      たとえば、増分が 100 MB でコンテンツが段階的に増やされ、自動拡大が 10 MB に設定されたシナリオについて検討してみます。その後突然、新しいドキュメント管理サイトで、非常に大容量のデータ ストレージ (おそらく初期サイズが 50 GB) が必要となったとします。このような大型の追加がある場合には、10 MB の増分よりも 500 MB の拡張増分の方が適しています。Consider for example, a scenario where content is gradually increased, say at 100MB increments, and autogrowth is set at 10MB. Then suddenly a new document management site requires a very large amount of data storage, perhaps with initial size of 50 GB. For this large addition, growth at 500 MB increments is more appropriate than 10MB increments.

    • 管理運用システムの場合、自動拡張は予期しない増加に対する単なる緊急対応として考えてください。日常的にデータおよびログの増加を管理するために、自動拡張オプションを使用しないでください。その代わり、1 年間の概算サイズに対応できるように自動拡張を設定し、障害に備えて 20% のマージンを追加します。また、データベースの空き領域が不足してきたり、最大サイズに近づいた場合に受け取る通知を設定します。For a managed production system, consider autogrowth to be merely a contingency for unexpected growth. Do not use the autogrow option to manage your data and log growth on a day-to-day basis. Instead, set the autogrowth to allow for an approximate size in one year and then add a 20 percent margin for error. Also set an alert to notify you when the database runs low on space or approaches a maximum size.

  • 増加率とピーク時の使用状況パターンに合わせて、ドライブ間で使用できる領域を少なくとも 25% のレベルに維持します。RAID 配列にドライブを追加、または管理するストレージをさらに割り当てる場合、ディスク領域が不足しないように厳重に容量を監視します。Maintain a level of at least 25 percent available space across drives to accommodate growth and peak usage patterns. If you add drives to a RAID array or allocate more storage to manage, monitor capacity closely to avoid running out of space.

SQL Server のストレージおよびパフォーマンスを継続的に監視するContinuously monitor SQL Server storage and performance

SQL Server のストレージおよびパフォーマンスを継続的に監視し、それぞれの運用データベース サーバーが受ける負荷を十分に処理できるようにすることをお勧めします。さらに、継続的に監視することで、リソース計画に使用できるベンチマークを確立できます。We recommend that you continuously monitor SQL Server storage and performance to make sure that each production database server is adequately handling the load put on it. Additionally, continuous monitoring enables you to establish benchmarks that you can use for resource planning.

リソース監視の包括的なビューを取得します。SQL Server に固有のリソースに対する監視を制限しないでください。SQL Server を実行しているコンピューター上のリソース (CPU、メモリー、キャッシュ/ヒット率、および I/O サブシステム) を追跡することも同じくらい重要です。Take a comprehensive view of resource monitoring. Do not limit monitoring to resources that are specific to SQL Server. It is equally important to track the following resources on computers that are running SQL Server: CPU, memory, cache/hit ratio, and the I/O subsystem.

1 つ以上のサーバー リソースが遅い、または負荷が大きいようであれば、現在および計画されたワークロードに基づいて以下のパフォーマンス ガイダンスを検討してください。When one or more of the server resources seems slow or overburdened, consider the following performance guidelines based on the current and projected workload.

バックアップの圧縮を使用して、バックアップを高速化してファイル サイズを抑制するUse backup compression to speed up backups and reduce file sizes

バックアップ圧縮は SharePoint のバックアップ操作を高速化します。これは、SQL Server Standard Edition と Enterprise Edition で使用できます。使用するバックアップ スクリプトに圧縮オプションを設定するか、SQL Server を既定で圧縮するように設定すると、データベース バックアップと配布ログのサイズを大幅に削減できます。詳細については、「バックアップの圧縮 (SQL Server)」および「データの圧縮」、または「テーブルまたはインデックスの圧縮の有効化」を参照してください。Backup compression can speed up SharePoint backup operations. It is available in SQL Server Standard and Enterprise Edition. If you set the compression option in your backup script or configure SQL Server to compress by default, you can significantly reduce the size of your database backups and shipped logs. For more information, see Backup Compression (SQL Server) and Data Compression, or Enable Compression on a Table or Index

謝辞Acknowledgements

SharePoint Server Content Publishing チームは、この記事の作成に協力していただいた以下の皆様に感謝の意を表します。The SharePoint Server Content Publishing team thanks the following contributors to this article:

  • SQL Server シニア プログラム マネージャーの Kay UnkrothKay Unkroth, Senior Program Manager, SQL Server

  • SQL Server シニア プログラム マネージャーの Chuck HeinzelmanChuck Heinzelman, Senior Program Manager, SQL Server

関連項目See also

概念Concepts

SharePoint Server 2016 および 2019 環境内の SQL Server の概要Overview of SQL Server in SharePoint Server 2016 and 2019 environments

ストレージおよび SQL Server の容量計画と構成 (SharePoint Server)Storage and SQL Server capacity planning and configuration (SharePoint Server)

その他のリソースOther Resources

SharePoint の保護: SharePoint 環境での SQL Server の強化Securing SharePoint: Harden SQL Server in SharePoint Environments