Create コマンド (TMSL)
適用対象:SQL Server 2016 以降の Analysis Services Azure Analysis Services Fabric/Power BI Premium
指定したオブジェクトと、指定されたすべての子孫オブジェクトを作成します。 オブジェクトが既に存在する場合、コマンドはエラーを発生させます。
要求
要求の構造は、 オブジェクトによって異なります。 兄弟と親の完全なオブジェクト定義は必要ありませんが、親であるオブジェクトにはすべての子を含める必要があります。
Database オブジェクト (TMSL) サーバーにデータベースを追加します。
{
"create": {
"database": {
"name": "AdventureworksDW2016",
"description": "<description>"
}
}
}
{
"create": {
"parentObject": {
"database": "AdventureworksDW2016"
},
"dataSource": {
"name": "SqlServer localhost AdventureworksDW2016",
"connectionString": "Provider=SQLNCLI11;Data Source=localhost;Initial Catalog=AdventureworksDW2016;Integrated Security=SSPI;Persist Security Info=false",
"impersonationMode": "impersonateAccount",
"account": "<account name>",
"annotations": [
{
"name": "ConnectionEditUISource",
"value": "SqlServer"
}
]
}
}
}
Partitions オブジェクト (TMSL) 親テーブル オブジェクトにパーティションを追加します。
{
"create": {
"parentObject": {
"database": "AdventureWorksTabular1200",
"table": "Date"
},
"partition": {
"name": "Date 2",
"source": {
"query": "SELECT [dbo].[DimDate].* FROM [dbo].[DimDate]",
"dataSource": "SqlServer localhost AdventureworksDW2016"
}
}
}
}
Roles オブジェクト (TMSL) 最小限の方法でロールをデータベースに追加しますが、メンバーシップやフィルターはありません。
{
"create": {
"parentObject": {
"database": "AdventureWorksDW2016"
},
"role": {
"name": "DataReader",
"modelPermission": "read"
}
}
}
Database オブジェクトを除き、作成されるオブジェクトは指定された parentObject の子です。 Database オブジェクトの親は常に Server オブジェクトです。
サーバーはコンテキストから想定されます。 たとえば、Management Studio または AMO PowerShell からスクリプトを実行した場合、サーバー接続はセッションまたはパラメーターとして指定されます。
Response
コマンドが成功したときに空の結果を返します。 それ以外の場合は、XMLA 例外が返されます。
例
例 1 - メンバーシップとフィルターを指定するロールを追加します。
{
"create":{
"parentObject":{
"database":"AdventureWorksTabular1200"
},
"role":{
"name":"DataReader",
"modelPermission":"read",
"members":[
{
"memberName": "account-01",
"memberId":"S-1-5-21-1111111111-2222222222-33333333-444444"
},
{
"memberName": "account-02",
"memberId":"S-2-5-21-1111111111-2222222222-33333333-444444"
}
],
"tablePermissions":[
{
"name":"Date",
"filterExpression":"CalendarYear('2011')"
}
]
}
}
}
使用法 (エンドポイント)
このコマンド要素は、次の方法で公開されている XMLA エンドポイントに対する Execute メソッド (XMLA) 呼び出しのステートメントで使用されます。
SQL Server Management Studio (SSMS) の XMLA ウィンドウとして
invoke-ascmd PowerShell コマンドレットへの入力ファイルとして
SSIS タスクまたはSQL Server エージェント ジョブへの入力として
SSMS からこのコマンド用の既製のスクリプトを生成できます。 たとえば、既存のデータベーススクリプトスクリプト データベース>>を CREATETo として>右クリックできます。