Как копировать данных между SQL Server с фильтром по дате при помощи PowerShell и dbatools
Задача: перенести данные из таблицы на одном сервере SQL Server на другой, оставив только записи за последние N месяцев, с автоматическим созданием структуры таблицы на приёмнике.
Решение: PowerShell 7 + модуль dbatools. Скрипт сам определяет столбцы с датой, предлагает выбрать нужный (если их несколько), формирует фильтр и выполняет высокопроизводительное копирование через SqlBulkCopy.
Возможности скрипта
-
✅ Автоматическое создание таблицы на целевом сервере (если её нет).
-
✅ Очистка целевой таблицы перед вставкой (опционально).
-
✅ Сохранение значений
IDENTITY(опционально). -
✅ Выбор столбца для фильтрации, если в таблице несколько дата-столбцов.
-
✅ Настройка периода (например, последние 3, 6, 12 месяцев).
-
✅ Контроль производительности