Create-Befehl (TMSL)

Gilt für: SQL Server 2016 und höher analysis Services Azure Analysis Services Fabric/Power BI Premium

Erstellt das angegebene -Objekt und alle angegebenen Nachfolgerobjekte. Wenn das Objekt bereits vorhanden ist, löst der Befehl einen Fehler aus.

Anforderung

Die Struktur der Anforderung variiert je nach Objekt. Ein Objekt, das ein übergeordnetes Objekt ist, muss alle untergeordneten Elemente enthalten, obwohl die vollständigen Objektdefinitionen von gleichgeordneten Elementen und übergeordneten Elementen nicht erforderlich sind.

Datenbankobjekt (TMSL) Hinzufügen einer Datenbank zu einem Server.

{   
  "create": {   
    "database": {   
      "name": "AdventureworksDW2016",   
      "description": "<description>"   
    }   
  }   
}  

DataSources-Objekt (TMSL)

{  
  "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-Objekt (TMSL) Fügen Sie einem übergeordneten Tabellenobjekt eine Partition hinzu.

{  
  "create": {  
    "parentObject": {  
      "database": "AdventureWorksTabular1200",  
      "table": "Date"  
    },  
    "partition": {  
      "name": "Date 2",  
      "source": {  
        "query": "SELECT [dbo].[DimDate].* FROM [dbo].[DimDate]",  
        "dataSource": "SqlServer localhost AdventureworksDW2016"  
      }  
    }  
  }  
}  

Roles-Objekt (TMSL) Fügen Sie einer Datenbank mindestens eine Rolle hinzu, jedoch ohne Mitgliedschaft oder Filter.

{  
  "create": {  
    "parentObject": {  
      "database": "AdventureWorksDW2016"  
    },  
    "role": {  
      "name": "DataReader",  
      "modelPermission": "read"  
    }  
  }  
}  

Mit Ausnahme des Database-Objekts ist das zu erstellende Objekt ein untergeordnetes Element eines angegebenen parentObject-Objekts. Das übergeordnete Objekt des Database-Objekts ist immer das Server-Objekt .

Der Server wird aus dem Kontext angenommen. Wenn Sie das Skript beispielsweise über Management Studio oder AMO PowerShell ausführen, wird die Serververbindung in der Sitzung oder als Parameter angegeben.

Antwort

Gibt ein leeres Ergebnis zurück, wenn der Befehl erfolgreich ist. Andernfalls wird eine XMLA-Ausnahme zurückgegeben.

Beispiele

Beispiel 1 : Hinzufügen einer Rolle, die die Mitgliedschaft und einen Filter angibt.

{   
   "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')"  
            }  
         ]  
      }  
   }  
}  

Verwendung (Endpunkte)

Dieses Befehlselement wird in einer Anweisung des Aufrufs der Execute-Methode (XMLA) über einen XMLA-Endpunkt verwendet und auf folgende Weise verfügbar gemacht:

  • Als XMLA-Fenster in SQL Server Management Studio (SSMS)

  • Als Eingabedatei für das PowerShell-Cmdlet invoke-ascmd

  • Als Eingabe für einen SSIS-Task oder SQL Server-Agent Auftrag

Sie können ein vorgefertigtes Skript für diesen Befehl von SSMS generieren. Sie können z. B. mit der rechten Maustaste auf eine vorhandene Datenbank >scriptscript Database (Skriptdatenbank>) als >CREATE To klicken.