Чем открыть sql файл большого размера

Я использую sql-сервер 2012, где мне нужно запустить script инструкции insert. Но размер файла составляет 2,7 ГБ. когда я собираюсь открыть файл в редакторе sql, он показывает мне ошибку SystemOutOfMemory. Блокнот также не может открыть какое-либо предложение, как его открыть.

Редактор SQL может открыть файл до 500 мб без очень хороших спецификаций, похоже, что что-то не так, если вы хотите вставить данные из одной базы данных в другую, попробуйте использовать мастер импорта/экспорта, пакет SSIS или утилита командной строки, создающая таблицу script, а затем вставка не является хорошим подходом.

Попробуйте открыть файл в браузере, а затем скопируйте необходимые строки в редакторе. Это сработало для меня.

У меня была такая же проблема сегодня с мега-гигабайтными файлами sql, поэтому я написал утилиту командной строки, чтобы разделить их на файлы меньшего размера для обработки.

Там же есть исходный код (Visual Studio 2015)

Во-первых, вы делаете что-то не так. Опишите, как и почему вы получили файл 2,7 ГБ. Скорее всего, есть альтернативное решение вашей проблемы.

Вы можете выполнить файл такого размера с помощью утилиты командной строки sqlcmd.exe. MSDN sqlcmd Утилита

Но это будет очень очень очень медленно, так как вставка будет по одной строке

Также я не вижу причин открывать такой большой файл в редакторе. Но если хотите – я открыл файл> 3Gb во внутреннем редакторе файлового менеджера FarManager3.0 x64 (мой конфиг Win7 x64, ram 8Gb, i7-3770). И это тоже было довольно медленно

Возможно, нам следует поискать другие варианты передачи данных:

Я столкнулся с подобной ситуацией, когда мне пришлось редактировать файл SQL объемом 1,5 ГБ.

EmEditor сделал свою работу.

Перепробовал много редакторов, ничего не работало, все зависало или не отвечало (на окнах).

На один раз или на короткое время вы можете использовать его в качестве пробного периода. Для более длительного/постоянного использования придется покупать премиум.

Ниже ссылка на скачивание тоже самое.

Мне удалось открыть файл через терминал в Linux с помощью vi/vim.

Почему вы не пытаетесь создать виртуальную машину с centos или каким-либо другим вкусом, передайте файл там (через ssh и используя filezilla) и откройте его там? Установите версию сервера без GUI.

Бьюсь об заклад, вы сможете открыть его там. В противном случае раскол был бы чем-то нужным.

Редактор 010 может обрабатывать файлы любого размера. Я просто использовал его для редактирования 3GB файла, который Chrome, TextPad и все остальное разбилось.

Я открыл файл 5.14G sql в редакторе IntelliJ IDEA. Загрузка даже не занимает 30 секунд.

Большие файлы дампа mysql могут быть открыты приложением gVim.

Почему бы просто не импортировать файл в SQL Server и не просмотреть его в Enterprise Manager? Вы можете напрямую импортировать его или использовать PowerShell, но последний, вероятно, будет работать в одночасье (это легче для небольших файлов, особенно для многих из них). Как только он появится, вы сможете с легкостью делать все, что захотите, и размер файла не будет проблемой.

Вы всегда можете использовать утилиту командной строки.

Откройте cmd и введите:

Я только что успешно запустил файл 7 Гб с 8 млн вставок.

Для кроссплатформенных приложений я считаю, что VSCode на самом деле лучший здесь. Если он заметит, что это большой файл, он автоматически отключит поиск синтаксиса и все приятные функции, но уйдет, по крайней мере, с базовым поиском и заменой и т.д. Я использую это для файлов размером 1-3 ГБ регулярно для WordPress, потому что иногда постоянные ссылки не обновляются при смене доменных имен для сайтов разработчиков и т.д. и т.д.

Если у вас установлена ОС Linux или Git Bash в Windows, то у вас будет доступ к vim, который я рекомендую для всего 4GB+. Мне пришлось изменить строки вручную в файле MySQL 6GB+, и он отлично работает. Вы подумаете, что это не работает, потому что чтение с диска в ОЗУ может занять около минуты, но это сработает. Вы захотите оценить, сколько раз вы сэкономите, потому что он будет записывать целые 6 ГБ обратно на диск, а навигация также потребует использования поиска, номеров строк и т.д., Но это работает.

У меня та же проблема, но я решил ее.

Затем, после того как я попробовал с Visual Studio Code Editor. И это работает.

Источник

Из командной строки запустите sqlcmd :

Просто замените его на местоположение вашего блока SQL и на имя вашего скрипта. Не забудьте, если вы используете экземпляр SQL, синтаксис:

Вот список всех аргументов, которые вы можете передать sqlcmd:

Вы также можете использовать этот инструмент. Это действительно полезно.

Принять командную строку с правами администратора

Выполните следующую команду

Я использую MSSQL Express 2014, и ни одно из решений не помогло мне. Все они просто разбили SQL. Так как мне нужно было запустить только один сценарий со множеством простых операторов вставки, я обошел его, написав небольшое консольное приложение в качестве крайней меры:

Запустите его из командной строки с помощью osql, смотрите здесь:

У меня была похожая проблема. Мой файл со сценарием sql был более 150 МБ (почти 900 КБ очень простых INSERT ). Я использовал решение, рекомендованное Такуро (в качестве ответа в этом вопросе), но я все еще получал сообщение об ошибке, в котором говорилось, что недостаточно памяти («Недостаточно системной памяти в внутреннем пуле ресурсов для выполнения этого запроса»).

(Это не относится непосредственно к вопросу (размер файла), но я считаю, что это решает проблему, которая косвенно связана с большим размером самого сценария SQL. В моем случае много команд вставки)

Ваш вопрос очень похож на этот

Если вам приходится выполнять эту передачу данных очень часто, вы можете перейти к репликации. В зависимости от ваших потребностей, репликация снимков может быть в порядке. Если вам нужно синхронизировать данные между двумя серверами, вы можете использовать более сложную модель, такую ​​как репликация слиянием.

РЕДАКТИРОВАТЬ: я не заметил, что у вас были проблемы с SSMS, связанные с размером файла. Затем вы можете перейти к командной строке, предложенной другими, репликации моментальных снимков (опубликовать на главном сервере, подписаться на локальный, реплицировать, затем отписаться) или даже выполнить резервное копирование / восстановление.

Файл в основном содержит данные для двух новых таблиц.

Тогда вам может быть проще просто DTS (или SSIS, если это SQL Server 2005+) передавать данные, если два сервера находятся в одной сети.

Источник

17 ответов

Попробуйте открыть файл в браузере, а затем скопируйте нужные строки в редактор. У меня это сработало.

Сегодня у меня была такая же проблема с мегагигабайтными файлами sql, поэтому я написал утилиту командной строки, чтобы разделить их на более мелкие файлы для обработки.

Исходный код тоже есть (Visual Studio 2015)

Пробовал много редакторов, ничего не работало, все вылетало или зависало (на windows).

На время или на короткий срок вы можете использовать пробную версию. Для более длительного / постоянного использования вам нужно будет купить премиум.

Ниже находится ссылка для скачивания.

Во первых вы что-то делаете не так. Опишите, как и почему вы получили файл размером 2,7 ГБ. Скорее всего есть альтернативное решение вашей проблемы.

Вы можете запустить файл такого размера с помощью утилиты командной строки sqlcmd.exe. Утилита MSDN sqlcmd

Но это будет происходить очень-очень-очень медленно, так как вставка будет одна за другой

Возможно, нам стоит поискать другие варианты передачи данных:

Легко открыл для меня файл размером 4 ГБ

Мне удалось открыть файл через терминал в Linux с помощью vi / vim.

Почему бы вам не попробовать создать виртуальную машину с использованием centos или какой-либо другой разновидности, передать туда файл (через ssh и с помощью filezilla) и открыть его там? Установите серверную версию без графического интерфейса.

Бьюсь об заклад, вы сможете открыть его там. В противном случае раскол было бы на что обратить внимание.

010 Editor может обрабатывать файлы любого размера. Я просто использовал его для редактирования файла размером 3 ГБ, на котором разбились Chrome, TextPad и все остальное.

Вы всегда можете использовать утилиту командной строки.

Откройте cmd и введите:

Я только что успешно запустил файл размером 7 ГБ с 8 миллионами вставок.

У меня та же проблема, но я ее решил.

У меня был файл sql размером 8 ГБ, и каждый текстовый редактор или серверы sql, которые я пробовал, либо разбились, либо вообще не позволяли ему открываться.

Я пробовал разные программы на своем компьютере, и pycharm открыл их без каких-либо усилий, хотя однажды он разбился.

Sublime Text действительно хорошо работал на Mac. Я много пробовал, PHPstorm работал отлично, но только в режиме чтения. Sublime Text фактически открывает для редактирования полный файл, но для его загрузки требуется некоторое время. Тем не менее, во время загрузки есть индикатор выполнения.

Большие файлы дампа mysql можно открыть с помощью приложения gVim.

Почему бы просто не импортировать файл в SQL Server и не просмотреть его в Enterprise Manager? Вы можете напрямую импортировать его или использовать PowerShell, но последний, вероятно, будет работать в одночасье (это проще для небольших файлов, особенно для их большого количества). Как только он будет там, вы можете с легкостью делать все, что хотите, и размер файла не будет проблемой.

Я считаю, что для кросс-платформенных приложений лучше всего подходит VSCode. Если он заметит, что это большой файл, он автоматически отключит поиск по синтаксису и все полезные функции, но останется, по крайней мере, с базовым поиском и заменой и т. Д. Я регулярно использую это для файлов размером около 1-3 ГБ для WordPress, потому что иногда постоянные ссылки не обновляются при изменении доменных имен для сайтов разработки / тестирования и т. д.

Если у вас установлен Linux или Git Bash в Windows, тогда у вас будет доступ к vim, что я рекомендую для всего 4 ГБ +. Мне пришлось вручную изменить строки в файле MySQL размером 6 ГБ +, и он отлично работает. Вы подумаете, что это не работает, потому что чтение с диска в ОЗУ может занять около минуты, но он это сделает. Вы захотите эффективно рассчитывать количество сохранений, потому что на диск будут записаны полные 6 ГБ, а для навигации также потребуется использование поиска, номеров строк и т. Д., Но это работает.

Использование большого редактора файлов, такого как ultra edit, является простым решением для редактирования, а затем запускать его из CMD с помощью утилиты SQLCMD.

Источник

Как импортировать большой MS SQL.sql-файл?

9 ответов

из командной строки, запуск sqlcmd :

просто заменить С расположением вашего SQL box и С именем вашего скрипта. Не забывайте, что если вы используете экземпляр SQL, синтаксис:

вот список всех аргументов, которые вы можете передать sqlcmd:

у меня была точно такая же проблема, и я боролся некоторое время, а затем, наконец, нашел решение, которое должно установить до sqlcmd чтобы изменить размер пакета по умолчанию:

вы также можете использовать этот инструмент. Это действительно полезно.

выполните следующую команду

Я использую MSSQL Express 2014, и ни одно из решений не работало для меня. Они все просто разбили SQL. Как мне только нужно было запустить один скрипт со многими простыми инструкциями вставки я обошел его, написав небольшое консольное приложение в крайнем случае:

запустить его в командной строке с osql, см. здесь:

Ваш вопрос очень похож на этот

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

EDIT: я не заметил, что у вас были проблемы с SSMS, связанные с размером файла. Затем вы можете перейти в командную строку, как предлагают другие, репликация моментальных снимков (опубликовать на главном сервере, подписаться на локальном, реплицировать, а затем отменить подписку) или даже резервное копирование/восстановление

файл в основном содержит данные для двух новых таблиц.

тогда вам может показаться проще просто DTS (или SSIS, если это SQL Server 2005+) данные, если два сервера находятся в одной сети.

Источник

Любые браузеры и текстовые редакторы виснут.

Чем открыть sql файл большого размера. Смотреть фото Чем открыть sql файл большого размера. Смотреть картинку Чем открыть sql файл большого размера. Картинка про Чем открыть sql файл большого размера. Фото Чем открыть sql файл большого размера

8 ответов 8

Вы ведь не хотите просмотреть весь гигабайт данных, правда? То есть вам и не нужно открывать такой файл.

Eсли вы хотите всего лишь узнать, сколько там таблиц, вам нужно что-то вроде

Чем открыть sql файл большого размера. Смотреть фото Чем открыть sql файл большого размера. Смотреть картинку Чем открыть sql файл большого размера. Картинка про Чем открыть sql файл большого размера. Фото Чем открыть sql файл большого размера

Встроенный просмотрщик в FAR открывает любые файлы моментально, так как он их не читает полностью при открытии, а считывает нужные части файла по мере просмотра.

Так нужно просто пользоваться правильными текстовыми редакторами! В свое время пользовался emeditor. 200-400 Мб открывал с пол пинка.

Но если по правильному, то такие файлы обычно смотрят в консоли с помощью less, grep и компании.

Если дело происходит в Unix системе можно открыть из шелла выполнив

notepad++ спокойно открывает такие файлы

В дополнение про FAR скажу, что mcedit из Midnight Commander работает аналогично. Последний раз большой дамп просматривал именно с его помощью.

Под какой платформой вы пытаетесь это сделать, Windows или Linux? В любом случае если вас интересует только просмотр, а не редактирования, лучше использовать просмотр а не редактирование. В windows в Total commander или Far В Linux mightnight commander. Ну или как советовали консольные средства поиска. findstr в windows grep в linux. Кстати в linux меня приятно удивил vim для редактирования больших файлов. Открыл файл в 400

мб практически мгновенно. Так понимаю это связано с тем что он не пытается загрузить сразу всю информация в оперативную память, в отличии от большинства других текстовых редакторов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками файлы sql или задайте свой вопрос.

Похожие

Подписаться на ленту

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2021 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2021.12.15.41030

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *