مشکل با دستور Dbcc Shrinkfile و alter database
با سلام و خسته نباشید
ساختار دیتابیس بعد از پارتیشن بندی به شکل زیر می باشد
من از کوئری زیر استفاده می کنم ولی ارور می دهد
use alireza
Dbcc Shrinkfile('NorthwindOrderDetailsDataPartition3', Emptyfile)
ارور در زیر هست
Msg 2556, Level 16, State 1, Line 3 There is insufficient space in the filegroup to complete the emptyfile operation.
بعد با دستور زیر می خواهم یک فایلی رو در دیتابیس remove کنم
ALTER DATABASE [alireza] REMOVE FILE [NorthwindOrderDetailsDataPartition3] GO
بازهم ارور زیر را می دهد
Msg 5042, Level 16, State 1, Line 1 The file 'NorthwindOrderDetailsDataPartition3' cannot be removed because it is not empty.
5 پاسخ
راهی نداره. چون موقع خالی کردن یک فایل. داده ها از آن فایل به فایل دیگر در همان فایل گروپ منتقل می شود. حالا اگر یک فایل باشد دیگر نمی توانید این کار را انجام دهید.
کوری بالا داده ها را از ان فایل به فایلهای دیگر در همان فایل گروپ منتقل میکنه.
با سلام خدمت استاد عزیزم
جناب مهندس ببخشید یک سئوال دیگر داشتم کوئری زیر دقیقا چه کاری انجام می دهد
Dbcc Shrinkfile('NorthwindOrderDetailsDataPartition3', Emptyfile)
ممنون می شوم من را راهنمایی کنید
ایا این فایل گروپ فقط یک فایل دارد؟ اگر بلی یک فایل دیگر به ان اضافه کنید و دوباره دستور را اجرا کنید
با سلام استاد عزیز
بله این فایل گروپ یک فایل داشت و من یک فایل ndf دیگر به فایل گروپ اضافه کردم و به درستی هر کدام رو که می خواستم می توانستم حذف بکنم
فقط مهندس جان تصور کنید که در یک فایل گروپ 1 فایل ndf داریم حالا اگر بخواهیم همین فایل را حذف کنیم یا اصلا گروه را حذف کنیم چه کاری باید انجام بدهیم چون اگر 1 فایل باشد حذف نمی تواند بکند.
ممنون می شوم راهنمایی کنید استاد