Имя: Пароль:
IT
 
MS Sql server 2010 минимальный размер файлов
0 Lama12
 
27.12.11
15:52
Вопрос - как в запросе определить минимальный размер файлов определенной базы данных.

Для чего задача.
В шарепоинте стоит задание шринкующее базы данных. Некоторые базы, в результате шринка не изменяют свой размер. Шарепоинт ругается. Хочется не делать шринк по тем базам у которых текущий размер файлов, соответствует минимальным значениям из настроек.
Текущий размер нашли где искать.
1 МихаилМ
 
27.12.11
16:04
ms sql profiler Вам поможет
2 neomarat
 
27.12.11
16:05
(0) а че 10-ый вышел?
3 Lama12
 
27.12.11
16:19
(2) эээ 10 то вышел :)
только у нас 2008. Ошибся.
(1)Профайлер - только позволяет трассировать запросы и н оне показывает какая команда возвращает размер файла.
4 МихаилМ
 
27.12.11
17:52
(3)
догадайтесь, как я получил этот скрипт.

       create table #tmplogspc (DatabaseName sysname, LogSize float, SpaceUsedPerc float, Status bit)
           insert #tmplogspc EXEC ('dbcc sqlperf(logspace)')
       


SELECT
s.name AS [Name],
s.physical_name AS [FileName],
CAST(CASE s.is_percent_growth WHEN 1 THEN s.growth ELSE s.growth*8 END AS float) AS [Growth],
CAST(CASE when s.growth=0 THEN 99 ELSE s.is_percent_growth END AS int) AS [GrowthType],
s.file_id AS [ID],
CASE when s.max_size=-1 then -1 else s.max_size * CONVERT(float,8) END AS [MaxSize],
s.size * CONVERT(float,8) AS [Size],
tspclog.LogSize * tspclog.SpaceUsedPerc * 10.24 AS [UsedSpace],
CAST(case s.state when 6 then 1 else 0 end AS bit) AS [IsOffline],
s.is_read_only AS [IsReadOnly],
s.is_media_read_only AS [IsReadOnlyMedia],
s.is_sparse AS [IsSparse]
FROM
sys.master_files AS s
INNER JOIN #tmplogspc tspclog ON
           tspclog.DatabaseName = db_name()
       
WHERE
(s.type = 1 and s.database_id = db_id())
ORDER BY
[Name] ASC

           drop table #tmplogspc
5 Lama12
 
27.12.11
17:53
(4) Блин... понял :)