Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как переместить в другую файловую группу поля с типом text?  [new]
de_noel
Member

Откуда:
Сообщений: 40
Добрый день!
Очень прошу помощи, проблема в следующем: решили из нескольких разных файловых групп перенести все одну (так сложилось, обсуждать уже не приходится). Написала скрипт,который убивал все Primary Key у таблиц и делал MOVE TO имя новой файловой группы при их создании.
Но выяснилось, что поля таблиц с типом text (по-моему еще другие тоже) остались в прежней файловой группе. Т.е. сама таблица в новой, но в свойствах storage есть Text Filegroup, в которой сидит старая файлгруппа. А хочется старые удалить.. Как быть? как перенести эти поля?

MSSQLServer 2008R2

Спасибо всем!
2 сен 10, 16:06    [9372898]     Ответить | Цитировать Сообщить модератору
 Re: Как переместить в другую файловую группу поля с типом text?  [new]
invm
Member

Откуда: Москва
Сообщений: 8218
Перенести никак. Только пересозданием таблицы с указанием опции TEXTIMAGE_ON
2 сен 10, 18:03    [9374288]     Ответить | Цитировать Сообщить модератору
 Re: Как переместить в другую файловую группу поля с типом text?  [new]
PokeMan
Member

Откуда: MOSKAU
Сообщений: 312
MSDN
TEXTIMAGE_ON { filegroup | "default" }

Ключевые слова, указывающие, что столбцы типов text, ntext, image, xml, varchar(max), nvarchar(max), varbinary(max), а также пользовательских типов среды CLR хранятся в определенной файловой группе.

Параметр TEXTIMAGE_ON недопустим, если в таблице нет столбцов с большими значениями. Нельзя указывать параметр TEXTIMAGE_ON одновременно с параметром <partition_scheme>). Если указано значение "default" или параметр TEXTIMAGE_ON не определен вообще, столбцы с большими значениями сохраняются в установленной по умолчанию файловой группе. Способ хранения любых данных столбцов с большими значениями, определенный инструкцией CREATE TABLE, изменить в дальнейшем невозможно
2 сен 10, 18:10    [9374362]     Ответить | Цитировать Сообщить модератору
 Re: Как переместить в другую файловую группу поля с типом text?  [new]
de_noel
Member

Откуда:
Сообщений: 40
PokeMan,

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


интересно, что оговаривается инструкция CREATE TABLE.. так бы и писали, что если есть столбцы с этими типами данных, то уже никак не перенести.. :(
2 сен 10, 18:24    [9374421]     Ответить | Цитировать Сообщить модератору
 Re: Как переместить в другую файловую группу поля с типом text?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 35833
de_noel
PokeMan,

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


интересно, что оговаривается инструкция CREATE TABLE.. так бы и писали, что если есть столбцы с этими типами данных, то уже никак не перенести.. :(
По сути дела, перемещение всей таблицы в другую файловую группу - это и есть переливка данных. Только сервер услужливо ее делает за вас. Тут же вам придется просто сделать новую таблицу и DTS/SSIS перелить в нее данные из существующей. Делов, кроме непосредственной переливки, на пять минут.
2 сен 10, 18:26    [9374428]     Ответить | Цитировать Сообщить модератору
 Re: Как переместить в другую файловую группу поля с типом text?  [new]
de_noel
Member

Откуда:
Сообщений: 40
Гавриленко Сергей Алексеевич,

Разве файловые группы не являются объединением логическим? т.е. данные хранятся в файлах, а уже логически объединяются в файловые группы? т.е. просто при создании другой файловой группы на основе тех же файлов данные надо будет "переливать"? Извините,если что-то не корректно написала..
2 сен 10, 18:33    [9374453]     Ответить | Цитировать Сообщить модератору
 Re: Как переместить в другую файловую группу поля с типом text?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 35833
de_noel
Гавриленко Сергей Алексеевич,

Разве файловые группы не являются объединением логическим? т.е. данные хранятся в файлах, а уже логически объединяются в файловые группы? т.е. просто при создании другой файловой группы на основе тех же файлов данные надо будет "переливать"? Извините,если что-то не корректно написала..
Файл не может быть более, чем в одной файловой группе. Поэтому, если вы перетаскиваете объект в другую ФГ, то вы его физически перетаскиваете в другой файл.
2 сен 10, 18:35    [9374470]     Ответить | Цитировать Сообщить модератору
 Re: Как переместить в другую файловую группу поля с типом text?  [new]
de_noel
Member

Откуда:
Сообщений: 40
Гавриленко Сергей Алексеевич,

Спасибо большое за разъяснение!!!
2 сен 10, 18:40    [9374490]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Как переместить в другую файловую группу поля с типом text?  [new]
AR®
Member

Откуда: Подмосковье
Сообщений: 294
Интересно, в MSSQLServer более новых, чем 2008R2 можно перемещать text/ntext в другие группы без пересоздания таблицы?
2 дек 18, 00:10    [21751197]     Ответить | Цитировать Сообщить модератору
 Re: Как переместить в другую файловую группу поля с типом text?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 35833
https://blog.dbi-services.com/moving-tables-online-on-filegroup-with-constraints-and-lob-data/
2 дек 18, 12:40    [21751319]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить