Search

onze sponsors

microsoft_logo.gif


 

computrain_logo.JPG

Forum Login | Register
   Forum

 

Subject: Shrink database
Prev Next
You are not authorized to post a reply.

Author Messages
abdeltif elazouziUser is Offline

Posts:5

21-11-2007 14:45:44 Alert 
Hoi allemaal,

Ik probeer via MS SQL 2000 Enterprise manager een MDF file van 200GB te shrinken naar 80GB. Deze operatie neemt behoorlijk veel tijd in beslag. Hij is nu meer dan 2 uur bezig. Kan ik deze operatie gewoon stopen?  wat is de impact van zo'n cancel opdracht?
wat is de beste manier om deze MDF file te shrinken?

Met vriendelijke groet,
Abdeltif El Azouzi
Hugo KornelisUser is Offline

Posts:46

30-11-2007 10:56:21 Alert 
Hoi Abdeltif,

Een beetje een verlate reactie, maar hopelijk heb je er nog iets aan.

Ik heb nog nooit geprobeerd een shrink te stoppen. Ik verwacht dat dan een ROLLBACK wordt gestart die alle al uitgevoerde wijzigingen weer ongedaan gaat maken. Dit zou zelfs nog langer kunnen duren dan de al verstreken tijd.

Heel veel informatie over hoe je wel en niet moet shrinken, en vooral waarom je zeker niet op regelmatige basis moet srinken, is te vinden op de website van SQL Server MVP Tibor Karaszi: http://www.karaszi.com/SQLServer/info_dont_shrink.asp.

Met vriendelijke groeten,

Hugo Kornelis (SQL Server MVP)
abdeltif elazouziUser is Offline

Posts:5

03-12-2007 10:18:58 Alert 
Hoi Hugo,

Dank je wel voor je reactie. Ik heb na 3 uur wachten de schrink opdracht van de data file geannulleerd. Zoals je zei er is een ROLLBACK operatie gestart en alle al uitgevoerde wijzigingen zijn ongedaan gemaakt. Ik heb vervolgens de volgende DBCC opdracht uitgevoerd:

DBCC SHRINKFILE (1, target size, TRUNCATEONLY).

De target size was 80 GB. Het is gelukt om van 200GB naar 122GB te gaan niet in een keer maar in stukies van 1GB.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
USE Test_DATA
DECLARE @size int, @sql nvarchar(1000)
SET @size = ( SELECT size FROM dbo.sysfiles WHERE FILEID = 1 ) / ( 1024 / 8 )
WHILE (@size > 150000)
BEGIN
SET @sql = N'DBCC SHRINKFILE (1, ' + CAST( @size AS nvarchar(100) ) + N', TRUNCATEONLY)'
PRINT @sql
EXEC Sp_ExecuteSQL @sql

SET @size = @size - 1000
END

+++++++++++++++++++++++++++++++++++++++++++

Met vriendelijke groeten,

Abdeltif El Azouzi
You are not authorized to post a reply.
Forums > Forums > DBA > Shrink database



ActiveForums 3.6
  
Copyright (c) 2012 PASS Nederland   Privacy Statement  Terms Of Use