SMB ファイル共有ストレージを使用して SQL Server をインストールするInstall SQL Server with SMB fileshare storage

適用対象: ○SQL Server (Windows のみ)×Azure SQL Database ×Azure SQL Data Warehouse ×Parallel Data Warehouse APPLIES TO: yesSQL Server (Windows only) noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

SQL Server 2012 (11.x)SQL Server 2012 (11.x)以降では、システム データベース (Master、Model、MSDB、TempDB) と データベース エンジンDatabase Engine ユーザー データベースをストレージ オプションとしてサーバー メッセージ ブロック (SMB) ファイル サーバーにインストールできます。Starting with SQL Server 2012 (11.x)SQL Server 2012 (11.x), system databases (Master, Model, MSDB, and TempDB), and データベース エンジンDatabase Engine user databases can be installed with Server Message Block (SMB) file server as a storage option. これは、 SQL ServerSQL Server スタンドアロン インストールと SQL ServerSQL Server フェールオーバー クラスター インストール (FCI) の両方に当てはまります。This applies to both SQL ServerSQL Server stand-alone and SQL ServerSQL Server failover cluster installations (FCI).

注意

Filestream は現在、SMB ファイル共有ではサポートされていません。Filestream is currently not supported on an SMB file share.

インストールに関する注意点Installation considerations

SMB ファイル共有の形式:SMB fileshare formats:

SMB ファイル共有を指定する際にスタンドアロンおよび FCI データベースでサポートされる汎用名前付け規則 (SMB) パスの形式を次に示します。While specifying the SMB file share, the following are supported Universal Naming Convention (UNC) Path formats for standalone and FCI databases:

  • \\ServerName\ShareName\\ServerName\ShareName\

  • \\ServerName\ShareName\\ServerName\ShareName

汎用名前付け規則の詳細については、「UNC」を参照してください。For more information about Universal Naming Convention, see UNC.

ループバック UNC パス (サーバー名が localhost、127.0.0.1、またはローカル コンピューター名である UNC パス) はサポートされません。The loopback UNC path (a UNC path whose server name is localhost, 127.0.0.1, or the local machine name) is not supported. 特別なケースとして、 SQL ServerSQL Server と同じノードでホストされたファイル サーバー クラスターを使用している SQL ServerSQL Server もサポートされません。As a special case, SQL ServerSQL Server using File Server Cluster which is hosted on the same node SQL ServerSQL Server is running is also not supported. この状況を避けるため、 SQL ServerSQL Server とファイル サーバー クラスターは、別個の Windows クラスターに作成することをお勧めします。To prevent this situation, it is recommended that SQL ServerSQL Server and File Server Cluster to be created on separated Windows Clusters.

次の UNC パス形式はサポートされていません。The below UNC path formats are not supported:

  • ループバック パス ( \\localhost\..\ または \\127.0.0.1\...\ など)Loopback path, e.g., \\localhost\..\ or \\127.0.0.1\...</span>

  • 管理用共用 ( \\servername\x$ など)Administrative shares, e.g., \\servername\x$

  • その他の形式の UNC パス ( \\?\x:\ など)Other UNC path formats like \\?\x:</span>

  • 割り当て済みのネットワーク ドライブMapped network drives.

サポートされるデータ定義言語 (DDL) ステートメントSupported data definition language (DDL) statements

SMB ファイル共有をサポートする Transact-SQLTransact-SQL DDL ステートメントおよびデータベース エンジン ストアド プロシージャを次に示します。The following Transact-SQLTransact-SQL DDL statements and database engine stored procedures support SMB file shares:

  1. CREATE DATABASE (SQL Server Transact-SQL)CREATE DATABASE (SQL Server Transact-SQL)

  2. ALTER DATABASE (Transact-SQL)ALTER DATABASE (Transact-SQL)

  3. RESTORE (Transact-SQL)RESTORE (Transact-SQL)

  4. BACKUP (Transact-SQL)BACKUP (Transact-SQL)

インストール オプションInstallation options

  • セットアップ UI の [データベース エンジンの構成] ページの [データ ディレクトリ] タブで、[データ ルート ディレクトリ] パラメーターを "\\fileserver1\share1"" に設定します。In setup UI "Database Engine Configuration" page, "Data Directories" tab, set the parameter "Data root directory as "\\fileserver1\share1".

  • コマンド プロンプトでインストールする場合、"/INSTALLSQLDATADIR" に "\\fileserver1\share1"" を指定します。In command prompt installation, specify the "/INSTALLSQLDATADIR" as "\\fileserver1\share1".

    次に、SMB ファイル共有オプションを使ってスタンドアロン サーバーに SQL ServerSQL Server をインストールするためのサンプル構文を示します。Here is the sample syntax to install SQL ServerSQL Server on a Standalone server using SMB file share option:

    Setup.exe /q /ACTION=Install /FEATURES=SQL /INSTANCENAME=MSSQLSERVER /SQLSVCACCOUNT="<DomainName\UserName>" /SQLSVCPASSWORD="<StrongPassword>" /SQLSYSADMINACCOUNTS="<DomainName\UserName>" /AGTSVCACCOUNT="<DomainName\UserName>" /AGTSVCPASSWORD="<StrongPassword>" /INSTALLSQLDATADIR="\\FileServer\Share1\" /IACCEPTSQLSERVERLICENSETERMS  
    

    SQL ServerSQL Server および データベース エンジンDatabase Engine が配置された単一ノードの Analysis ServicesAnalysis Servicesフェールオーバー クラスター インスタンスを既定のインスタンスとしてインストールするには、次のコマンドを使用します。To install a single-node SQL ServerSQL Server failover cluster instance with the データベース エンジンDatabase Engine and Analysis ServicesAnalysis Services, default instance:

    setup.exe /q /ACTION=InstallFailoverCluster /InstanceName=MSSQLSERVER /INDICATEPROGRESS /ASSYSADMINACCOUNTS="<DomainName\UserName>" /ASDATADIR=<Drive>:\OLAP\Data /ASLOGDIR=<Drive>:\OLAP\Log /ASBACKUPDIR=<Drive>:\OLAP\Backup /ASCONFIGDIR=<Drive>:\OLAP\Config /ASTEMPDIR=<Drive>:\OLAP\Temp /FAILOVERCLUSTERDISKS="<Cluster Disk Resource Name - for example, 'Disk S:'" /FAILOVERCLUSTERNETWORKNAME="<Insert Network Name>" /FAILOVERCLUSTERIPADDRESSES="IPv4;xx.xxx.xx.xx;Cluster Network;xxx.xxx.xxx.x" /FAILOVERCLUSTERGROUP="MSSQLSERVER" /Features=AS,SQL /ASSVCACCOUNT="<DomainName\UserName>" /ASSVCPASSWORD="xxxxxxxxxxx" /AGTSVCACCOUNT="<DomainName\UserName>" /AGTSVCPASSWORD="xxxxxxxxxxx" /INSTALLSQLDATADIR="\\FileServer\Share1\" /SQLCOLLATION="SQL_Latin1_General_CP1_CS_AS" /SQLSVCACCOUNT="<DomainName\UserName>" /SQLSVCPASSWORD="xxxxxxxxxxx" /SQLSYSADMINACCOUNTS="<DomainName\UserName> /IACCEPTSQLSERVERLICENSETERMS  
    

    SQL Server 2017SQL Server 2017におけるさまざまなコマンド ライン パラメーター オプションの使用方法については、「 コマンド プロンプトからの SQL Server 2016 のインストール」を参照してください。For more information about the usage of various command line parameter options in SQL Server 2017SQL Server 2017, see Install SQL Server 2016 from the Command Prompt.

オペレーティング システムに関する注意事項 (SMB プロトコルと SQL ServerSQL Server)Operating system considerations (SMB Protocol vs. SQL ServerSQL Server)

Windows オペレーティング システムのバージョンによって SMB プロトコルのバージョンも異なりますが、 SQL ServerSQL Serverは、どのバージョンの SMB プロトコルにも対応します。Different Windows operating systems has different SMB protocol versions, and the SMB protocol version is transparent to SQL ServerSQL Server. SMB プロトコルの各バージョンによって、 SQL Server 2017SQL Server 2017に対するメリットも異なります。You can find the benefits of different SMB protocol versions with respect to SQL Server 2017SQL Server 2017.

オペレーティング システムOperating System SMB2 プロトコルのバージョンSMB2 protocol version に対するメリット SQL ServerSQL ServerBenefits to SQL ServerSQL Server
Windows Server 2008Windows Server 2008 SP 2SP 2 2.02.0 従来のバージョンの SMB よりもパフォーマンスに優れています。Improved performance over previous SMB versions.

持続性が高いため、一時的なネットワーク障害もスムーズに復旧できます。Durability, which helps recover from temporary network glitches.
Windows Server 2008 R2Windows Server 2008 R2 SP 1 (Server Core を含む)SP 1, including Server Core 2.12.1 大きい MTU をサポートするため、SQL のバックアップや復元など、大規模なデータ転送が高速化されます。Support for large MTU, which benefits large data transfers, such as SQL backup and restore. この機能を使用するには、ユーザーが機能を有効にする必要があります。This capability must be enabled by user. この機能を有効にする方法の詳細については、「What's New in SMB」(SMB の新機能) (https://go.microsoft.com/fwlink/?LinkID=237319) ) を参照してください。For more details on how to enable this capability, see What's New in SMB (https://go.microsoft.com/fwlink/?LinkID=237319).

大幅なパフォーマンス向上。特に、SQL OLTP スタイルのワークロードに対して効果的です。Significant performance improvements, specifically for SQL OLTP style workloads. パフォーマンスを向上するには、修正プログラムを適用する必要があります。These performance improvements require applying a hotfix. この修正プログラムの詳細については、こちら (https://go.microsoft.com/fwlink/?LinkId=237320) を参照してください。For more information on the hotfix, see this (https://go.microsoft.com/fwlink/?LinkId=237320).
Windows Server 2012Windows Server 2012(Server Core を含む), including Server Core 3.03.0 ファイル サーバー クラスター構成の SQL DBA またはファイル サーバー管理者に必要な、ファイル共有の透過的フェールオーバー (管理者の操作が不要でダウンタイムが発生しないフェールオーバー) をサポートします。Support for transparent failover of file shares providing zero downtime with no administrator intervention required for SQL DBA or file server administrator in file server cluster configurations.

複数のネットワーク インターフェイスを同時使用する IO をサポートします。また、ネットワーク インターフェイスの障害に対する耐性も優れています。Support for IO using multiple network interfaces simultaneously, as well as tolerance to network interface failure.

RDMA 機能を備えたネットワーク インターフェイスをサポートします。Support for network interfaces with RDMA capabilities.

これらの機能およびサーバー メッセージ ブロックの詳細については、「Server Message Block overview」(サーバー メッセージ ブロックの概要) (https://go.microsoft.com/fwlink/?LinkId=253174) を参照してください。For more information on these features and Server Message Block, see Server Message Block overview (https://go.microsoft.com/fwlink/?LinkId=253174).

継続的可用性機能を備えたスケールアウト ファイル サーバー (SoFS) をサポートします。Support for Scale Out File Server (SoFS) with continuous availability.
Windows Server 2012Windows Server 2012 R2 (Server Core を含む)R2, including Server Core 3.23.2 ファイル サーバー クラスター構成の SQL DBA またはファイル サーバー管理者に必要な、ファイル共有の透過的フェールオーバー (管理者の操作が不要でダウンタイムが発生しないフェールオーバー) をサポートします。Support for transparent failover of file shares providing zero downtime with no administrator intervention required for SQL DBA or file server administrator in file server cluster configurations.

複数のネットワーク インターフェイスを同時使用する IO をサポートします。また、ネットワーク インターフェイスの障害に対する耐性も優れています (SMB マルチチャネルを使用した場合)。Support for IO using multiple network interfaces simultaneously, as well as tolerance to network interface failure, using SMB Multichannel.

RDMA 機能を備えたネットワーク インターフェイスをサポートします (SMB ダイレクトを使用した場合)。Support for network interfaces with RDMA capabilities using SMB Direct.

これらの機能およびサーバー メッセージ ブロックの詳細については、「Server Message Block overview」(サーバー メッセージ ブロックの概要) (https://go.microsoft.com/fwlink/?LinkId=253174) を参照してください。For more information on these features and Server Message Block, see Server Message Block overview (https://go.microsoft.com/fwlink/?LinkId=253174).

継続的可用性機能を備えたスケールアウト ファイル サーバー (SoFS) をサポートします。Support for Scale Out File Server (SoFS) with continuous availability.

SQL ServerSQL Server OLTP に共通する小規模なランダム読み取り/書き込み I/O 向けに最適化されます。Optimized for small random read/write I/O common to SQL ServerSQL Server OLTP.

最大転送単位 (MTU) が既定で有効になっています。これにより、 SQL ServerSQL Server データ ウェアハウス、データベースのバックアップと復元など、大規模なシーケンシャル転送のパフォーマンスが大幅に向上します。Maximum Transmission Unit (MTU) is turned on by default, which significantly enhances performance in large sequential transfers like SQL ServerSQL Server data warehouse and database backup or restore.

セキュリティに関する考慮事項Security considerations

  • SQL ServerSQL Server サービス アカウントと SQL ServerSQL Server エージェント サービス アカウントには、SMB 共有フォルダーに対するフル コントロールの共有権限と NTFS 権限が必要です。The SQL ServerSQL Server service account and SQL ServerSQL Server agent service account should have FULL CONTROL share permissions and NTFS permissions on the SMB share folders. SMB ファイル サーバーを使用する場合、ドメイン アカウントまたはシステム アカウントを SQL ServerSQL Server サービス アカウントにすることができます。The SQL ServerSQL Server service account can be a domain account or a system account if an SMB file server is used. 共有および NTFS アクセス許可の詳細については、「ファイル サーバーの共有アクセス許可と NTFS アクセス許可」 (https://go.microsoft.com/fwlink/?LinkId=245535) を参照してください。For more information about share and NTFS permissions, see Share and NTFS Permissions on a File Server (https://go.microsoft.com/fwlink/?LinkId=245535).

    注意

    SMB 共有フォルダーに対するフル コントロールの共有権限と NTFS 権限は、 SQL ServerSQL Server サービス アカウント、 SQL ServerSQL Server エージェント サービス アカウント、および管理サーバー ロールを持つ Windows ユーザーに制限する必要があります。The FULL CONTROL share permissions and NTFS permissions on the SMB share folders should be restricted to: SQL ServerSQL Server service account, SQL ServerSQL Server Agent service account and windows users with admin server roles.

    ドメイン アカウントを SQL ServerSQL Server サービス アカウントとして使用することをお勧めします。It is recommended to use domain account as a SQL ServerSQL Server service account. システム アカウントをサービス アカウントとして使用した場合、コンピューター アカウントのアクセス許可を <domain_name>\<computer_name>*$* という形式で指定できます。If system account is used as a service account, grant the permissions for the machine account in the format: <domain_name>\<computer_name>*$*.

    注意

    SQL ServerSQL Server セットアップで、ストレージ オプションとして SMB ファイル共有を指定した場合は、ドメイン アカウントをサービス アカウントとして指定する必要があります。During SQL ServerSQL Server setup, it is required to specify domain account as a service account if SMB file share is specified as a storage option. SMB ファイル共有を使用する場合、システム アカウントは SQL ServerSQL Server のインストール後にのみサービス アカウントとして指定することができます。With SMB file share, System account can only be specified as a service account post SQL ServerSQL Server installation.

    仮想アカウントでは、リモートの場所へアクセスすることはできません。Virtual accounts cannot be authenticated to a remote location. どの仮想アカウントも、コンピューター アカウントの権限を使用します。All virtual accounts use the permission of machine account. <domain_name>\<computer_name>*$* の形式でコンピューター アカウントを準備してください。Provision the machine account in the format <domain_name>\<computer_name>*$*.

  • SQL ServerSQL Server のインストールに使用するアカウントには、クラスター セットアップの際にデータ ディレクトリとして使用される、SMB ファイル共有フォルダーおよび他のすべてのデータ フォルダー (ユーザー データベース ディレクトリ、ユーザー データベース ログ ディレクトリ、TempDB ディレクトリ、TempDB ログ ディレクトリ、バックアップ ディレクトリ) に対して、フル コントロール権限が必要です。The account used to install SQL ServerSQL Server should have FULL CONTROL permissions on the SMB file share folder used as the data directory, or any other data folders (User database directory, user database log directory, TempDB directory, TempDB log directory, backup directory) during Cluster Setup.

  • SQL ServerSQL Server のインストールに使用するアカウントには、SMB ファイル サーバーに対する SeSecurityPrivilege 特権を付与する必要があります。The account used to install SQL ServerSQL Server should be granted SeSecurityPrivilege privileges on the SMB file server. この特権を付与するには、ファイル サーバーで [ローカル セキュリティ ポリシー] コンソールを使用して、監査とセキュリティ ログの管理ポリシーに SQL ServerSQL Server セットアップ アカウントを追加します。To grant this privilege, use the Local Security Policy console on the file server to add the SQL ServerSQL Server setup account to the Manage auditing and security log policy. この設定は、[ローカル セキュリティ ポリシー] コンソールの [ローカル ポリシー] にある [ユーザー権利の割り当て] セクションで行うことができます。This setting is available in the User Rights Assignments section under Local Policies in the Local Security Policy console.

既知の問題Known issues

  • ネットワークにアタッチされたストレージ上に存在する SQL Server 2017SQL Server 2017 データベースをデタッチした後で、その SQL ServerSQL Server データベースを再アタッチしようとすると、データベース権限の問題が発生する場合があります。After you detach a SQL Server 2017SQL Server 2017 database that resides on network-attached storage, you might run into database permission issue while trying to reattach the SQL ServerSQL Server database. この問題は、こちらのサポート技術情報の記事 (https://go.microsoft.com/fwlink/?LinkId=237321) で定義されています。The issue is defined in this KB article (https://go.microsoft.com/fwlink/?LinkId=237321). この問題を回避するには、このサポート技術情報の「 詳細 」を参照してください。To work around this issue, see the More Information section in the KB article.

  • SQL ServerSQL Serverのクラスター化されたインスタンスのストレージ オプションとして SMB ファイル共有が使用されている場合、 SQL ServerSQL Server Resource DLL にはこのファイル共有に対する読み取り/書き込み権限がないため、既定では、 SQL ServerSQL Server フェールオーバー クラスター診断ログをファイル共有に書き込むことができません。If SMB file share is used as a storage option for a clustered instance of SQL ServerSQL Server, by default the SQL ServerSQL Server Failover Cluster Diagnostics Log cannot be written to the file share because SQL ServerSQL Server Resource DLL lacks the read/write permission on the file share. この問題を解決するには、次のいずれかの方法を試してください。To resolve this issue, try one of the following methods:

    1. ファイル共有に対する読み取り/書き込み権限をクラスター内のすべてのコンピューター オブジェクトに付与する。Grant read/write permissions on the file share to all computer objects in the cluster.

    2. 診断ログの場所をローカル ファイル パスに設定する。Set the location of the diagnostic logs to a local file path. 次の例を参照してください。See the following example:

      ALTER SERVER CONFIGURATION  
      SET DIAGNOSTICS LOG PATH = 'C:\logs';  
      

参照See also

SQL Server のインストール計画 Planning a SQL Server Installation
Windows サービス アカウントと権限の構成Configure Windows Service Accounts and Permissions