Enable Stretch Database for a databaseEnable Stretch Database for a database

適用対象: ○SQL Server (2016 以降で Windows のみ)×Azure SQL Database×Azure SQL Data Warehouse ×Parallel Data WarehouseAPPLIES TO: yesSQL Server (Windows only starting with 2016) noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Stretch Database 用にデータベースを構成するには、SQL Server Management Studio でデータベースに対して [タスク]、[ストレッチ]、[有効にする] の順に選択し、 [データベースのストレッチの有効化] ウィザードを開きます。To configure an existing database for Stretch Database, select Tasks | Stretch | Enable for a database in SQL Server Management Studio to open the Enable Database for Stretch wizard. Transact-SQL を使用してデータベースの Stretch Database を有効にすることもできます。You can also use Transact-SQL to enable Stretch Database for a database.

個別のテーブルに対して [タスク]、[ストレッチ]、[有効にする] の順に選択した場合、データベースの Stretch Database がまだ有効になっていないと、ウィザードはデータベースの Stretch Database を構成し、ユーザーはプロセスの一部としてテーブルを選択できます。If you select Tasks | Stretch | Enable for an individual table, and you have not yet enabled the database for Stretch Database, the wizard configures the database for Stretch Database and lets you select tables as part of the process. テーブルに対して Stretch Database を有効にする」の手順ではなく、この記事の手順に従ってください。Follow the steps in this article instead of the steps in Enable Stretch Database for a table.

データベースまたはテーブルで Stretch Database を有効にするには、db_owner アクセス許可が必要です。Enabling Stretch Database on a database or a table requires db_owner permissions. データベースで Stretch Database を有効にするには、管理データベースのアクセス許可も必要です。Enabling Stretch Database on a database also requires CONTROL DATABASE permissions.

注意

後で、Stretch Database を無効にする場合は、テーブルまたはデータベースで Stretch Database を無効にしてもリモート オブジェクトは削除されないことに注意してください。Later, if you disable Stretch Database, remember that disabling Stretch Database for a table or for a database does not delete the remote object. リモート テーブルまたはリモート データベースを削除する場合は、Azure 管理ポータルを使用して削除する必要があります。If you want to delete the remote table or the remote database, you have to drop it by using the Azure management portal. リモート オブジェクトを手動で削除するまで、引き続き Azure ストレージのコストが発生します。The remote objects continue to incur Azure costs until you delete them manually.

始める前にBefore you get started

  • データベースで Stretch を構成する前に、Stretch Database Advisor を実行して、Stretch を構成できるデータベースとテーブルを識別することをお勧めします。Before you configure a database for Stretch, we recommend that you run the Stretch Database Advisor to identify databases and tables that are eligible for Stretch. Stretch Database Advisor はブロックの問題も識別します。The Stretch Database Advisor also identifies blocking issues. 詳細については、「 Stretch Database Advisor を実行して Stretch Database のデータベースとテーブルを特定する」をご覧ください。For more info, see Identify databases and tables for Stretch Database by running Stretch Database Advisor.

  • Stretch Database の制限事項を確認します。Review Limitations for Stretch Database.

  • Stretch Database はデータを Azure に移行します。Stretch Database migrates data to Azure . そのため、Azure アカウントとサブスクリプションを請求のために用意する必要があります。Therefore you have to have an Azure account and a subscription for billing. Azure アカウントを取得するには、 こちらをクリックしてください。To get an Azure account, click here.

  • 新しい Azure サーバーを作成する、または既存の Azure サーバーを選択するために必要な接続およびログイン情報を入手します。Have the connection and login info you need to create a new Azure server or to select an existing Azure server.

前提条件:サーバーで Stretch Database を有効にするPrerequisite: Enable Stretch Database on the server

データベースまたはテーブルで Stretch Database を有効にする前に、ローカル サーバーで有効にする必要があります。Before you can enable Stretch Database on a database or a table, you have to enable it on the local server. この操作には、sysadmin または serveradmin のアクセス許可が必要です。This operation requires sysadmin or serveradmin permissions.

  • 必要な管理アクセス許可がある場合、 データベースのストレッチの有効化 ウィザードは Stretch 用にサーバーを構成します。If you have the required administrative permissions, the Enable Database for Stretch wizard configures the server for Stretch .

  • 必要なアクセス許可がない場合、ユーザーがウィザードを実行する前に管理者が sp_configure を実行して手動でオプションを有効にするか、または管理者がウィザードを実行する必要があります。If you don't have the required permissions, an administrator has to enable the option manually by running sp_configure before you run the wizard, or an administrator has to run the wizard.

手動によってサーバーで Stretch Database を有効にするには、 sp_configure を実行して、 remote data archive オプションを有効にします。To enable Stretch Database on the server manually, run sp_configure and turn on the remote data archive option. 次の例では、値を 1 に設定することによって remote data archive オプションを有効にしています。The following example enables the remote data archive option by setting its value to 1.

EXEC sp_configure 'remote data archive' , '1';  
GO

RECONFIGURE;  
GO  

詳細については、「remote data archive サーバー構成オプションの構成」と「sp_configure (Transact-SQL)」をご覧ください。For more info, see Configure the remote data archive Server Configuration Option and sp_configure (Transact-SQL).

ウィザードを使用してデータベースで Stretch Database を有効にするUse the wizard to enable Stretch Database on a database

入力する必要がある情報や選択など、データベースのストレッチの有効化ウィザードの詳細については、「 Get started by running the Enable Database for Stretch Wizard」 (データベースのストレッチの有効化ウィザードの実行から開始する) をご覧ください。For info about the Enable Database for Stretch Wizard, including the info that you have to enter and the choices that you have to make, see Get started by running the Enable Database for Stretch Wizard.

Transact-SQL を使用してデータベースで Stretch Database を有効にするUse Transact-SQL to enable Stretch Database on a database

個別のテーブルで Stretch Database を有効にする前に、データベースで有効にする必要があります。Before you can enable Stretch Database on individual tables, you have to enable it on the database.

データベースまたはテーブルで Stretch Database を有効にするには、db_owner アクセス許可が必要です。Enabling Stretch Database on a database or a table requires db_owner permissions. データベースで Stretch Database を有効にするには、管理データベースのアクセス許可も必要です。Enabling Stretch Database on a database also requires CONTROL DATABASE permissions.

  1. 始める前に、Stretch Database で移行するデータ用に既存の Azure サーバーを選択するか、または新しい Azure サーバーを作成します。Before you begin, choose an existing Azure server for the data that Stretch Database migrates, or create a new Azure server.

  2. Azure サーバーで、SQL Server の IP アドレス範囲に対するファイアウォール規則を作成し、SQL Server がリモート サーバーと通信できるようにします。On the Azure server, create a firewall rule with the IP address range of the SQL Server that lets SQL Server communicate with the remote server.

    SQL Server Management Studio (SSMS) のオブジェクト エクスプローラーから Azure サーバーに接続することで、必要とする値を簡単に見つけて、ファイアウォール規則を作成できます。You can easily find the values you need and create the firewall rule by attempting to connect to the Azure server from Object Explorer in SQL Server Management Studio (SSMS). SSMS で次のダイアログ ボックスが開き、既に必要な IP アドレス値が設定されているので、簡単に規則を作成できます。SSMS helps you to create the rule by opening the following dialog box which already includes the required IP address values.

    Stretch 用のファイアウォール規則

  3. Stretch Database 用に SQL Server データベースを構成するには、データベースにデータベース マスター キーが必要です。To configure a SQL Server database for Stretch Database, the database has to have a database master key. データベース マスター キーは、Stretch Database がリモート データベースへの接続に使用する資格情報をセキュリティで保護します。The database master key secures the credentials that Stretch Database uses to connect to the remote database. 新しいデータベース マスター キーを作成する例を次に示します。Here's an example that creates a new database master key.

    USE <database>; 
    GO  
    
    CREATE MASTER KEY ENCRYPTION BY PASSWORD='<password>'; 
    GO
    

    データベースのマスター キーを作成する方法については、「CREATE MASTER KEY (Transact-SQL)」と「データベース マスター キーの作成」をご覧ください。For more info about the database master key, see CREATE MASTER KEY (Transact-SQL) and Create a Database Master Key.

  4. Stretch Database 用にデータベースを構成するときは、オンプレミスの SQL Server とリモート Azure サーバーの間の通信に使用する資格情報を Stretch Database に提供する必要があります。When you configure a database for Stretch Database, you have to provide a credential for Stretch Database to use for communication between the on premises SQL Server and the remote Azure server. この場合、2 つの選択肢があります。You have two options.

    • 管理者の資格情報を提供できます。You can provide an administrator credential.

      • ウィザードを実行して Stretch Database を有効にする場合は、そのときに資格情報を作成できます。If you enable Stretch Database by running the wizard, you can create the credential at that time.

      • ALTER DATABASEを実行して Stretch Database を有効にする場合は、 ALTER DATABASE を実行して Stretch Database を有効にする前に、資格情報を手動で作成する必要があります。If you plan to enable Stretch Database by running ALTER DATABASE, you have to create the credential manually before you run ALTER DATABASE to enable Stretch Database.

      新しい資格情報を作成する例を次に示します。Here's an example that creates a new credential.

      CREATE DATABASE SCOPED CREDENTIAL <db_scoped_credential_name>  
          WITH IDENTITY = '<identity>' , SECRET = '<secret>' ;
      GO   
      

      資格情報の詳細については、「CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL)」をご覧ください。For more info about the credential, see CREATE DATABASE SCOPED CREDENTIAL (Transact-SQL). 資格情報を作成するには、ALTER ANY CREDENTIAL 権限が必要です。Creating the credential requires ALTER ANY CREDENTIAL permissions.

    • 以下の条件をすべて満たす場合、SQL Server のフェデレーション サービス アカウントを使用して、リモート Azure サーバーと通信できます。You can use a federated service account for the SQL Server to communicate with the remote Azure server when the following conditions are all true.

      • SQL Server のインスタンスを実行しているサービス アカウントがドメイン アカウントである。The service account under which the instance of SQL Server is running is a domain account.

      • Active Directory が Azure Active Directory とフェデレーションされているドメインに、ドメイン アカウントが属している。The domain account belongs to a domain whose Active Directory is federated with Azure Active Directory.

      • Azure Active Directory 認証をサポートするように、リモート Azure サーバーが構成されている。The remote Azure server is configured to support Azure Active Directory authentication.

      • SQL Server のインスタンスを実行しているサービス アカウントが、リモート Azure サーバー上で dbmanager または sysadmin アカウントとして構成されている。The service account under which the instance of SQL Server is running must be configured as a dbmanager or sysadmin account on the remote Azure server.

  5. Stretch Database 用にデータベースを構成するには、ALTER DATABASE コマンドを実行します。To configure a database for Stretch Database, run the ALTER DATABASE command.

    1. SERVER 引数では、既存の Azure サーバーの名前を指定します。これには、名前の .database.windows.net の部分も含めます (例: MyStretchDatabaseServer.database.windows.net)。For the SERVER argument, provide the name of an existing Azure server, including the .database.windows.net portion of the name - for example, MyStretchDatabaseServer.database.windows.net.

    2. CREDENTIAL 引数で既存の管理者資格情報を指定するか、または FEDERATED_SERVICE_ACCOUNT = ON を指定します。Provide an existing administrator credential with the CREDENTIAL argument, or specify FEDERATED_SERVICE_ACCOUNT = ON. 次の例では既存の資格情報を指定しています。The following example provides an existing credential.

    ALTER DATABASE <database name>  
        SET REMOTE_DATA_ARCHIVE = ON  
            (  
                SERVER = '<server_name>' ,  
                CREDENTIAL = <db_scoped_credential_name>  
            ) ;  
    GO
    

次の手順Next steps

参照See Also

Stretch Database Advisor を実行して Stretch Database のデータベースとテーブルを特定する Identify databases and tables for Stretch Database by running Stretch Database Advisor
ALTER DATABASE SET オプション (Transact-SQL)ALTER DATABASE SET Options (Transact-SQL)