Estou escrevendo um powershell para criar uma tabela duplicada (em outro esquema) para fins de troca de partição *. Estou tendo problemas para adicionar as colunas e o índice de armazenamento de colunas clusterizadas.
Aqui está o que tenho até agora ($schemaName é o esquema de destino).
<snip for parameters getting passed in>
$database = $server.Databases[$dbName]
$table = new-object Microsoft.SqlServer.Management.Smo.Table ($database, $tblName)
$table.Schema = $schemaName
# Next two lines are not working
foreach ($col in $tblname.columns) { $table.columns.Add($col) }
# $table.Columns.CopyTo($tblName.Columns, 0)
## NEED TO ADD CLUSTERED COLUMN STORE INDEX TO TABLE
Write-Output $table.Columns.Count # Getting zero column count
# This isn't working
# $table.Create()
Alguma ideia sobre como adicionar o índice de armazenamento de colunas/colunas agrupadas? Ou uma abordagem melhor?
- = PartitionManager, no codeplex, não oferece suporte ao SQL Server 2014 (índices de armazenamento de colunas em cluster), então tenho que rolar meu próprio código.
editar título
Normalmente eu faria algo assim usando o T-SQL, mesmo se o Powershell estivesse executando esse T-SQL, por exemplo
No entanto, consegui que o seguinte Powershell funcionasse como um exemplo simples: