Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
aule22 Member Откуда: Сообщений: 8 |
Прочитал тут интересную статью https://www.sqlskills.com/blogs/paul/why-you-should-not-shrink-your-data-files/ И понял, человек то дело пишет, вот надо стло шринк сделать и это было очень грустно и долго, причем при всего то 200гб базе. Может кто поопытней подскажет, как все таблицы переместить запросом в другую файловую группу, т.е. пересоздать имеющиеся кластерные индексы и т.д. Догадываюсь, что как то можно использовать sp_msforeachtable, у кого то есть подобный опыт? Как то создавать индексы с MAXDOP = 24 все веселей, чем ждать однопоточного перемещения :( |
10 сен 16, 04:45 [19649931] Ответить | Цитировать Сообщить модератору |
komrad Member Откуда: Сообщений: 5496 |
на всех таблицах есть кластерный индекс? http://sqlmatters.com/Articles/Moving a Table to a Different Filegroup.aspx |
||
10 сен 16, 10:12 [19650058] Ответить | Цитировать Сообщить модератору |
aule22 Member Откуда: Сообщений: 8 |
komrad, о, нашел SELECT @@Servername AS Server , DB_NAME() AS DBName , isc.Table_Name AS TableName , isc.Table_Schema AS SchemaName , Ordinal_Position AS Ord , Column_Name , Data_Type , Numeric_Precision AS Prec , Numeric_Scale AS Scale , Character_Maximum_Length AS LEN , -- -1 means MAX like Varchar(MAX) Is_Nullable , Column_Default , Table_Type FROM INFORMATION_SCHEMA.COLUMNS isc INNER JOIN information_schema.tables ist ON isc.table_name = ist.table_name -- WHERE Table_Type = 'BASE TABLE' -- 'Base Table' or 'View' ORDER BY DBName , TableName , SchemaName , Ordinal_position; |
10 сен 16, 10:42 [19650069] Ответить | Цитировать Сообщить модератору |
aule22 Member Откуда: Сообщений: 8 |
Теперь надо вот это_AccumRg11943 dbo 1 _Period datetime _AccumRg11943 dbo 2 _RecorderTRef binary _AccumRg11943 dbo 3 _RecorderRRef binary _AccumRg11943 dbo 4 _LineNo numeric _AccumRg11943 dbo 5 _Active binary _AccumRg11943 dbo 25 _Fld620 numeric Привести к вот этому CREATE UNIQUE CLUSTERED INDEX [_Accum11943_ByPeriod_TRN] ON [dbo].[_AccumRg11943] ( [_Fld620] ASC, [_Period] ASC, [_RecorderTRef] ASC, [_RecorderRRef] ASC, [_LineNo] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = ON, IGNORE_DUP_KEY = OFF, DROP_EXISTING = ON, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, MAXDOP = 8, DATA_COMPRESSION = PAGE) ON [FILEGROUP] GO |
10 сен 16, 10:50 [19650077] Ответить | Цитировать Сообщить модератору |
Maxx Member [скрыт] Откуда: Сообщений: 24290 |
FAQ по форуму - сложение текстовых полей в запросе + пошукайет тему - скипт БД программно , там более вменяемое решение есть ,чем вы написали |
12 сен 16, 08:53 [19653258] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |