Create 命令 (TMSL)
适用于:SQL Server 2016 及更高版本的 Analysis Services Azure Analysis Services Fabric/Power BI Premium
创建指定的 对象和指定的所有后代对象。 如果该对象已存在,该命令将引发错误。
请求
请求的结构因 对象而异。 作为父级的对象必须包含其所有子级,但不需要同级对象和父 () 的完整对象定义。
数据库对象 (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"
}
]
}
}
}
分区对象 (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')"
}
]
}
}
}
使用情况 (终结点)
此命令元素用于通过 XMLA 终结点 (XMLA) 调用的 Execute 方法的语句中,以下列方式公开:
作为 SQL Server Management Studio (SSMS) 中的 XMLA 窗口
作为 invoke-ascmd PowerShell cmdlet 的输入文件
作为 SSIS 任务或SQL Server 代理作业的输入
可以从 SSMS 为此命令生成现成的脚本。 例如,可以右键单击现有数据库 >“脚本脚本>数据库”作为>“创建到”。