Перезаписать данные таблицы SQL Server с помощью BulkCopy

У меня есть этот код, который массовые копии в таблицу SQL Server из $dmvResult(Таблица данных).

$dmvResult = DMV_Query 'SELECT [SESSION_ID], [SESSION_SPID]
                        FROM $SYSTEM.DISCOVER_SESSIONS';
$ConnectionString ='Data Source={0}; Database={1}; Trusted_Connection=True;' -f $Server,$DB

$bulkCopy = new-object Data.SqlClient.SqlBulkCopy($ConnectionString)
$bulkCopy.DestinationTableName=$TableSomething

foreach ($column in $dmvResult.Columns) { 
     $bulkCopy.ColumnMappings.Add($column.ColumnName, $column.ColumnName) > $null 
}

$bulkCopy.WriteToServer($dmvResult)

Он работает безупречно, однако добавляет данные, так что создается все больше и больше строк. Могу ли я просто как-то перезаписать данные в таблице SQL Server при каждом запуске сценария? Я не хочу сохранять существующие данные, но вместо этого перезаписываю каждый раз при запуске скрипта

По сути, я хочу сделать что-то вроде этого:

$bulkCopy.WriteToServer($dmvResult) | overwrite

0 ответов

У меня такой же вопрос. Единственное, что я вижу, - это создать промежуточную таблицу иbulkCopyк тому, что. Затем используйте хранимую процедуру, чтобы объединить промежуточную таблицу и таблицу, которую вы хотите перезаписать.

Другие вопросы по тегам