У меня есть таблица Employee
с этими столбцами:
- ID int (первичный ключ, с автоматическим приращением на 1)
- Employee_Name
- Зарплата
- Joining_Date (кластеризованный индекс с порядком ASC)
Теперь, когда мы сохраняем данные, используя SqlBulkCopy
из нашего приложения C #, в базу данных SQL Server 2005, он вставляет строки в одно и то жепорядок строк данных.
Но когда мы сохраняем эти данные в SQL Server 2014, порядок строк изменяется в соответствии с столбцом кластерного индекса.
Код C #:
DataTable dtEmployee = new DataTable();
//Inserting employee records in datatable
bulkCopy.WriteToServer(dtEmployee);
Укажитеповеденческие изменения, если таковые имеются, и как их решить.Также приветствуются различные подходы к проектированию
У нас есть два варианта:
Игнорировать Bulkcopy и вставлять строки один за другим.Это имеет проблему в соединении, и это ломается из-за проблем с сетью, приводящих к откату
Сохранение данных в таблице с помощью массового копирования, имеющего столбец отметки времени.Таким образом, мы можем запустить задание, чтобы заполнить данные в итоговой таблице на основе метки времени для какого-либо задания.Это менее приемлемо для текущей системы.
Это Windows Server 2008 с SQL Server 2005 и SQL Server 2014