Create, commande (TMSL)

S’applique à : SQL Server 2016 et ultérieur Analysis Services Azure Analysis Services Power BI Premium

Crée l’objet spécifié et tous les objets descendants spécifiés. Si l’objet existe déjà, la commande génère une erreur.

Requête

La structure de la demande varie en fonction de l’objet. Un objet qui est un parent doit inclure tous ses enfants, bien que les définitions d’objets complets des frères et des parents ne soient pas obligatoires.

Objet de base de données (TMSL) Ajoutez une base de données à un serveur.

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

Objet DataSources ()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"  
        }  
      ]  
    }  
  }  
}  

Objet partitions (TMSL) Ajoutez une partition à un objet table parent.

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

Objet roles (TMSL) Ajoutez au minimum un rôle à une base de données, mais sans appartenance ni filtres.

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

À l’exception de l’objet de base de données , l’objet en cours de création est l’enfant d’un ParentObject spécifié. Le parent de l’objet de base de données est toujours l’objet serveur .

Le serveur est supposé à partir du contexte. par exemple, si vous exécutez le script à partir de Management Studio ou de PowerShell AMO, la connexion au serveur est spécifiée dans la session ou en tant que paramètre.

response

Retourne un résultat vide lorsque la commande aboutit. Dans le cas contraire, une exception XMLA est retournée.

Exemples

Exemple 1 : ajouter un rôle qui spécifie l’appartenance et un filtre.

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

Utilisation (points de terminaison)

Cet élément de commande est utilisé dans une instruction de l’appel de la méthode Execute (XMLA) sur un point de terminaison XMLA, exposée des manières suivantes :

  • en tant que fenêtre XMLA dans SQL Server Management Studio (SSMS)

  • En tant que fichier d’entrée de l’applet de commande PowerShell Invoke-ascmd

  • en tant qu’entrée d’une tâche SSIS ou d’un travail de l’Agent de SQL Server

Vous pouvez générer un script prêt à l’emploi pour cette commande à partir de SSMS. Par exemple, vous pouvez cliquer avec le bouton droit sur une base de données existante > script > de script en tant que > Create to.