2016-10-04 6 views
0

アクティブなジオレプリケートされたセカンダリデータベースを持つプライマリデータベースをデプロイするARMテンプレートを作成しようとしています。 。 "createMode"を使用してセカンダリデータベースを作成しています: "OnlineSecondary"と "sourceDatabaseId"がすでに作成されているプラ​​イマリdbですが、 "この機能は選択したデータベースのエディション(基本)では使用できません。 2016年4月現在、アクティブなジオレプリケーションはすべてのデータベース層で使用できると思いましたか? ARMテンプレートを使用してこれを設定することはできませんか?azureリソースマネージャテンプレートを使用してジオレプリケーションでSQLデータベースをデプロイする方法

私のテンプレートの関連部分は次のとおりです。

{ 
       "name": "[variables('sqlDatabaseName')]", 
       "type": "databases", 

       "location": "East US", 
       "apiVersion": "2014-04-01-preview", 
       "dependsOn": [ 
        "[concat('Microsoft.Sql/servers/', ,variables('sqlServerName'), '-east')]" 
       ], 
       "tags": { 
        "displayName": "SqlDatabase" 
       }, 
       "properties": { 
        "createMode": "OnlineSecondary", 
        "sourceDatabaseId": "[resourceId('Microsoft.Sql/servers/databases', concat(variables('sqlServerName'), '-west'), variables('sqlDatabaseName'))]", 
        "collation": "[parameters('deployinfo_sqlDatabaseCollation')]", 
        "edition": "[parameters('deployinfo_sqlDatabaseEdition')]", 
        "maxSizeBytes": "1073741824", 
        "requestedServiceObjectiveName": "[parameters('deployinfo_sqlDatabaseRequestedServiceObjectiveName')]" 
       } 
      } 

アップデート - 追加のプライマリDBリソースJSON

これは、プライマリDBのためのリソースブロックである:

{ 
       "name": "[variables('sqlDatabaseName')]", 
       "type": "databases", 
       "location": "West US", 
       "apiVersion": "2014-04-01-preview", 
       "dependsOn": [ 
        "[concat('Microsoft.Sql/servers/', variables('sqlServerName'), '-west')]" 
       ], 
       "tags": { 
        "displayName": "SqlDatabase" 
       }, 
       "properties": { 
        "collation": "[parameters('deployinfo_sqlDatabaseCollation')]", 
        "edition": "[parameters('deployinfo_sqlDatabaseEdition')]", 
        "maxSizeBytes": "1073741824", 
        "requestedServiceObjectiveName": "[parameters('deployinfo_sqlDatabaseRequestedServiceObjectiveName')]" 
       } 
      } 

答えて

0

答えを見つけました。必要なSQL Serverのバージョンを指定しないと、アクティブなジオレプリケーションをサポートしていない古いバージョンが起動します。レプリケーションを動作させるにはSQL Serverをバージョン12.0として宣言する必要がありました。

0

はい。ジオレプリケーションは基本層にも設定できます。はい、ARMテンプレートを使用して実行できます。私は現在、まったく同じことに取り組んでおり、それを成功させることができます。

{ 
"type": "databases", 
"name": "SecondaryDB", 
"apiVersion": "2014-04-01-preview", 
"location": "West US", 
"tags": { 
    "displayName": "SqlDatabase" 
}, 
"properties": { 
    "createMode": "OnlineSecondary", 
    "sourceDatabaseId": "[resourceId('Microsoft.Sql/servers/databases', 'primaryserver01', 'PrimaryDB')]", 
    "collation": "SQL_Latin1_General_CP1_CI_AS", 
    "edition": "Basic", 
    "maxSizeBytes": "1073741824", 
    "requestedServiceObjectiveName": "Basic" 
    }, 
"dependsOn": ["[concat('Microsoft.Sql/servers/', 'secondaryserver01')]"]} 

私の最高の推測では、問題は特にテンプレートに「版」と「requestedServiceObjectiveName」に渡されたパラメータを渡されるパラメータであるある:地理的複製のための私のデータベーステンプレートは最初の試みで、このように見えました。

+0

応答のおかげで、他の誰かがこれを設定していることを知っておいてよかったです。私は、 "edition"と "requestedServiceObjectiveName"の両方に "Basic"を渡しています。 –

+0

これ以外にもほとんどすべてが同じように見えます。また、プライマリデータベースの作成に使用したテンプレートを投稿することもできます。問題のデバッグに役立つかもしれません。 –

+0

私は先に進み、プライマリdb部分を追加しました。ジオレプリケーションの部分をテンプレートから取り除いたので、私はそれを再作成しなければなりませんでしたが、基本的に以前のものと同じでした。どちらのDBも、editionとrequestedServiceObjectiveNameに同じパラメータが渡されていました。このプロセスの別の部分は、おそらくpowershellスクリプトにあり、apiのバージョンを決定しますか? –

関連する問題