Команда 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 подключение к серверу будет указано в сеансе или в качестве параметра.
Ответ
Возвращает пустой результат при успешном выполнении команды. В противном случае возвращается исключение 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')"
}
]
}
}
}
Использование (конечные точки)
Этот командный элемент используется в инструкции вызова метода Execute (XMLA) через конечную точку XMLA, которая предоставляется следующими способами:
Как окно XMLA в SQL Server Management Studio (SSMS)
Входной файл командлета PowerShell invoke-ascmd
В качестве входных данных для задачи служб SSIS или задания агент SQL Server
Вы можете создать готовый скрипт для этой команды из SSMS. Например, можно щелкнуть правой кнопкой мыши существующую базу данных скрипта>база данных> скрипта как >создать.