AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: База знаний и проекты
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.07.2008, 21:27   #1  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5788 (200) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от Didukh84 Посмотреть сообщение
а где можно его можно найти
Давным-давно заморачивался этим вопросом, в ходе поиска по тырнету нашел скрипт для Ms SQL, который выдает полезную информацию по таблицам, используя то, что сообщает хранимка sp_spaceused. Все данные о размере, выдаваемые ей, выводятся в kb, но подстрока " KB" удаляется, чтоб удобней было обрабатывать выхлоп в том же Excel.
Вот немного доработанный мною вариант скрипта (авторские комментарии сохранены):
PHP код:
set nocount on
/*
DATABASE TABLE SPY SCRIPT
 Micheal Soelter
 1/24/03
DESCRIPTION
 returns table size information
SORTING USAGE
 @sort bit values
 0 = alphabetically by table name
 1 = sorted by total space used by table
*/
declare @cmdstr varchar(100)
declare @
Sort bit
select 
@sort /* edit this value for sorting options */
/* DO NOT EDIT ANY CODE BELOW THIS LINE */
--create temporary table
if object_id('tempdb..#temptable'is not null drop table #temptable
create table #temptable
 
(  table_name varchar(100),
    
row_count int,
    
table_size_str char(15),
    
data_space_used_str char(15),
    
idx_space_used_str char(15),
    
unused_space_str char(15),
    
table_size int,
    
data_space_used int,
    
idx_space_used int,
    
unused_space int
 
)
--
create stored procedure string
select 
@cmdstr 'sp_msforeachtable ''sp_spaceused "?"'''
--populate tempoary table
insert into 
#temptable (table_name, row_count, table_size_str, data_space_used_str,
                        
idx_space_used_strunused_space_str)
    
exec(@cmdstr)
--
determine sorting method
update 
#temptable
    
set table_size      cast(replace(table_size_str,      ' KB''') as int),
        
data_space_used cast(replace(data_space_used_str' KB''') as int),
        
idx_space_used  cast(replace(idx_space_used_str,  ' KB''') as int),
        
unused_space    cast(replace(unused_space_str,    ' KB''') as int)
if @
sort 0
    begin
        
--retrieve table data and sort alphabetically
        select table_name
row_counttable_sizedata_space_usedidx_space_usedunused_space
        from 
#temptable order by table_name
    
end
else
    
begin
        
--retrieve table data and sort by the size of the table
        select table_name
row_counttable_sizedata_space_usedidx_space_usedunused_space
        from 
#temptable order by table_size desc
    
end
--delete temporay table
drop table 
#temptable 

За это сообщение автора поблагодарили: Denicce (1), aidsua (1), MikeR (1), Didukh84 (1).
Старый 21.07.2008, 22:45   #2  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Давным-давно заморачивался этим вопросом, в ходе поиска по тырнету нашел скрипт для Ms SQL, который выдает полезную информацию по таблицам, используя то, что сообщает хранимка sp_spaceused. Все данные о размере, выдаваемые ей, выводятся в kb, но подстрока " KB" удаляется, чтоб удобней было обрабатывать выхлоп в том же Excel
см. А "потянет" ли Axapta такой объем данных ?

Цитата:
Сообщение от Didukh84
а где можно его можно найти
для 2005 и выше - в Management Studio
для 2000 - см. выше

Только вот.. Didukh84, Вы УВЕРЕНЫ, что Вам надо запускать эту процедуру? У Вас RecId перескочил за maxint() или Вы таким образом пытаетесь решить какие-то другие проблемы?
__________________
-ТСЯ или -ТЬСЯ ?
Старый 23.07.2008, 15:34   #3  
Didukh84 is offline
Didukh84
Участник
 
57 / 10 (1) +
Регистрация: 09.06.2006
Цитата:
Сообщение от Vadik Посмотреть сообщение
Только вот.. Didukh84, Вы УВЕРЕНЫ, что Вам надо запускать эту процедуру? У Вас RecId перескочил за maxint() или Вы таким образом пытаетесь какие-то другие проблемы?
У меня значение RecId - "-1804886437". Т.е. рано или поздно придется процедуру делать . Не охота, чтобы она застала врасплох .
Да, запустил еще раз проверку кодов то через 4-о суток оно сделалось!!! Значение RecId стало "140568244" :-) (правда я запускал перед этим еще реиндексацию зачем-то :-( )
__________________
Жить все веселей!.. AX3SP3CU1
Теги
ax3.0, faq, recid, дефрагментирование recid

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
if (record) vs if (record.RecId) kashperuk DAX: Программирование 18 27.11.2008 18:53
поля, содержащие RecId somebody DAX: Программирование 15 16.05.2008 17:50
aEremenko: Дефрагментация RecID Blog bot DAX Blogs 2 06.03.2007 22:25
Два RecId у одной записи таблицы sparur DAX: Программирование 33 18.12.2006 15:56
Форма InventOnhandItem, Почему RecID у InventSum в этой форме всегда 0? Кирилл DAX: Программирование 2 25.05.2004 18:15

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 15:04.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.