Как я могу экспортировать огромные таблицы из SQL (SSMS) в (сжатый) файл? - PullRequest
0 голосов
/ 11 марта 2019

Я работаю над SSMS v17.5 и у меня есть несколько очень больших таблиц (около 200 ГБ, 350 миллионов строк) в моей базе данных. Я хотел бы сэкономить некоторое хранилище в базе данных, экспортировав некоторые из них всетевой диск.Мастер экспорта, похоже, не дает возможности экспортировать напрямую в сжатый файл, есть ли возможность сделать это с помощью bcp?Или можно экспортировать данные в другой тип файла?Сколько места это заняло бы (больше или меньше, чем в БД?). Необходимо обеспечить возможность повторного импорта данных в базу данных SQL, если это необходимо.

Спасибо за помощь!

Ответы [ 2 ]

0 голосов
/ 11 марта 2019

Это невозможно, но вы можете реализовать сжатие данных, описанное здесь , и сжать файл другой утилитой, например Winrar, 7z или другой. Например, вы можете использовать код, размещенный здесь

0 голосов
/ 11 марта 2019

Вы можете сначала сжать БД (если вам не нужен журнал), а затем выполнить резервное копирование, используя сжатие следующим образом:

термоусадочную

use [DbName]
ALTER DATABASE [DbName] SET RECOVERY SIMPLE
GO
DBCC SHRINKFILE ([DbName_log], 5)
GO
ALTER DATABASE [DbName] SET RECOVERY FULL

Резервное копирование со сжатием :

BACKUP DATABASE [DbName] TO DISK=BackupName WITH Compression
...