View Full Version : sp_spaceused
rezarafiee
دوشنبه 31 تیر 1387, 13:15 عصر
با اجرای دستور زیر
sp_spaceused'tableName' نتیجه زیر به دست آمد در تصویرضمیمه یک عدد منفی مشخص است آن عدد چیست و چرا منفی شده است؟
AminSobati
دوشنبه 31 تیر 1387, 14:23 عصر
این دستور رو آزمایش کنین ببینید آیا همون نتیجه بدست میاد
exec sp_spaceused 'tsubscribers','true'
sarami
دوشنبه 31 تیر 1387, 15:15 عصر
با استفاده از این sp میتونین اطلاعات مربوط به مقدار حافظه اشغال شده از تمام table هاتون رو استخراج کنین
CREATE PROCEDURE GetAllTableSizes
AS
/*
محاسبه مقدار فضای اختصاص یافته به هر table
*/
DECLARE @TableName VARCHAR(100) --برای ذ
--
DECLARE tableCursor CURSOR
FOR
select [name]
from dbo.sysobjects
where OBJECTPROPERTY(id, N'IsUserTable') = 1
FOR READ ONLY
--
CREATE TABLE #TempTable
(
tableName varchar(100),
numberofRows varchar(100),
reservedSize varchar(50),
dataSize varchar(50),
indexSize varchar(50),
unusedSize varchar(50)
)
--Open the cursor
OPEN tableCursor
--رفتن به نام اولین table
FETCH NEXT FROM tableCursor INTO @TableName
--loop
WHILE (@@Fetch_Status >= 0)
BEGIN
--درج نتایج
INSERT #TempTable
EXEC sp_spaceused @TableName
--رفتن به تیبل بعدی
FETCH NEXT FROM tableCursor INTO @TableName
END
CLOSE tableCursor
DEALLOCATE tableCursor
SELECT *
FROM #TempTable
--پاک کردن table »وقت
DROP TABLE #TempTable
GO
AminSobati
دوشنبه 31 تیر 1387, 21:01 عصر
با استفاده از این sp میتونین اطلاعات مربوط به مقدار حافظه اشغال شده از تمام table هاتون رو استخراج کنین
[/CODE]
مایکروسافت زحمت درست کردن Cursor رو خودش براتون کشیده:
declare @TempTable table(
tableName varchar(100),
numberofRows varchar(100),
reservedSize varchar(50),
dataSize varchar(50),
indexSize varchar(50),
unusedSize varchar(50))
insert @TempTable exec sp_MsForEachTable 'exec sp_spaceused''?'''
select * from @TempTable
rezarafiee
سه شنبه 01 مرداد 1387, 09:53 صبح
با اجرای دستور دومی که استاد ثباتی فرمودند نتیجه زیر حاصل شد(فایل ضمیمه) لطفا راهنمایی فرمایید.
AminSobati
سه شنبه 01 مرداد 1387, 17:33 عصر
این SP اطلاعات رو از بخشی میخونه که الزاما بلادرنگ به روز نمیشه، لذا ممکنه در شرایطی آمار و ارقام غلط ارائه کنه. با پارامتر دوم (True) شما از SP میخواین که ابتدا آمار رو به روز کنه و بعد نتیجه بده
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.