Перезаписать данные таблицы 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
к тому, что. Затем используйте хранимую процедуру, чтобы объединить промежуточную таблицу и таблицу, которую вы хотите перезаписать.