|  30.01.2006, 11:00 | #1 | 
| Участник | удаление больших таблиц 
			
			Коллеги - не подскажите что за таблица SysSearchRef ? И что будет если удалить ее содержимое, у нас она занимает много места и надо как то очищать таблицы | 
|  | 
|  30.01.2006, 11:19 | #2 | 
| NavAx | 
			
			Вот тута все написано: http://axapta.mazzy.ru/lib/dbgrowthsolution/
		 | 
|  | 
|  30.01.2006, 11:55 | #3 | 
| Member | 
			
			Это поисковый индекс online help и корпоративного портала. Если вы не используете корпоративный портал, то это должна относительно не самая громоздкая таблица. А вы таблицы по какому критерию меряете? 
				__________________ С уважением, glibs® | 
|  | 
|  30.01.2006, 14:54 | #4 | 
| Участник | 
			
			по к-ву записей. Спасибо за ответы | 
|  | 
|  30.01.2006, 15:03 | #5 | 
| Member | Цитата: 
		
			Сообщение от Nikolaich
			
			 ...по к-ву записей... Вот так, например. sp_msforeachtable "sp_spaceused '?'" Или отчет Администрирование\Отчеты\Размер компании. Последний строится по конкретной компании (если у вас их много, то придется складывать). SysSearchRef будет в компании DAT. 
				__________________ С уважением, glibs® | 
|  | 
|  30.01.2006, 15:56 | #6 | 
| Участник | Цитата: 
		
			Сообщение от glibs
			
			 sp_msforeachtable "sp_spaceused '?'" . еще бы как-нить результаты можно было бы фильтрануть по размеру. Не подскажете? Буду безмерно благодарен   | 
|  | 
|  30.01.2006, 16:36 | #7 | 
| NavAx | 
			
			Можно так: DECLARE @pagesizeKB int SELECT @pagesizeKB = low / 1024 FROM master.dbo.spt_values WHERE number = 1 AND type = 'E' SELECT table_name = OBJECT_NAME(o.id), rows = i1.rowcnt, reservedKB = (ISNULL(SUM(i1.reserved), 0) + ISNULL(SUM(i2.reserved), 0)) * @pagesizeKB, dataKB = (ISNULL(SUM(i1.dpages), 0) + ISNULL(SUM(i2.used), 0)) * @pagesizeKB, index_sizeKB = ((ISNULL(SUM(i1.used), 0) + ISNULL(SUM(i2.used), 0)) - (ISNULL(SUM(i1.dpages), 0) + ISNULL(SUM(i2.used), 0))) * @pagesizeKB, unusedKB = ((ISNULL(SUM(i1.reserved), 0) + ISNULL(SUM(i2.reserved), 0)) - (ISNULL(SUM(i1.used), 0) + ISNULL(SUM(i2.used), 0))) * @pagesizeKB FROM sysobjects o LEFT OUTER JOIN sysindexes i1 ON i1.id = o.id AND i1.indid < 2 LEFT OUTER JOIN sysindexes i2 ON i2.id = o.id AND i2.indid = 255 WHERE OBJECTPROPERTY(o.id, N'IsUserTable') = 1 --same as: o.xtype = %af_src_str_2 OR (OBJECTPROPERTY(o.id, N'IsView') = 1 AND OBJECTPROPERTY(o.id, N'IsIndexed') = 1) GROUP BY o.id, i1.rowcnt ORDER BY 3 DESC но это уже www.sql.ru | 
|  | 
|  30.01.2006, 21:04 | #8 | 
| Member | Цитата: 
		
			Сообщение от Artild
			
			 ... А почему нет функции sp_msforeachtable в документации Sql Book?? ... Цитата: 
		
			Сообщение от Artild
			
			 ... еще бы как-нить результаты можно было бы фильтрануть по размеру. Не подскажете? ... Хотя скрипт от Roman777 тоже неслабый. 
				__________________ С уважением, glibs® | 
|  | 
|  31.01.2006, 11:45 | #9 | 
| Участник | Цитата: 
		
			Сообщение от Artild
			
			 Ух тыы. А почему нет функции sp_msforeachtable в документации Sql Book?? еще бы как-нить результаты можно было бы фильтрануть по размеру. Не подскажете? Буду безмерно благодарен  Фильтрануть? Ну можно во временную табличку результат залить...А еще проще copy/paste результатов в excel сделать, а там фильтруйте... | 
|  | 
|  31.01.2006, 13:35 | #10 | 
| Участник | 
			
			ага. давненько я свои скилы в SQL Server не качал, о всем известной недокументированной функции ни слухом, ни духом. копи паст не помог   это функцию я уж конечно догадался попробовать  в случае если в грид результаты выдавать, во-первых, выдает сообщение о нехватке ресурсов для завершения запрос, во-вторых, для каждой таблицы отдельная таблица в результате в гриде, можно выделить только одну. когда в текст выдаю, то тупая вставка в эксель не совсем красиво происходит, дополнительные необходимы удары в бубен  ну да ладно, и на том все спасибо, сейчас это задача чисто инициативная и не критичная, как-нить потом сам разберусь   | 
|  |