Als eerste, ik kom nog maar net kijken op het gebied van Microsoft SQL 2008, dus veroordeel me niet gelijk als n00b svp.
Ik heb een database waarvan de transaction log eigenlijk te groot wordt.
Deze wil ik graag elke week opschonen (truncate) maar kennelijk werkt het commando wat ik gebruikte in SQL 2005 niet meer in 2008.
Ik gebruikte eerder:
2008 pikt het commando "Truncate_Only" kennelijk niet meer.
Wat ik nu heb gedaan is het volgende:
Di's natuurlijk niet echt netjes.
Weet iemand de nette manier om een transaction log te schonen door middel van een SQL script?
Ik heb een database waarvan de transaction log eigenlijk te groot wordt.
Deze wil ik graag elke week opschonen (truncate) maar kennelijk werkt het commando wat ik gebruikte in SQL 2005 niet meer in 2008.
Ik gebruikte eerder:
code:
1
2
3
4
5
6
7
8
9
10
| USE <DBNAME> GO Backup Log YourDatabaseName With Truncate_Only GO eclare @LogFileLogicalName sysname select @LogFileLogicalName=Name from sys.database_files where Type=1 print @LogFileLogicalName DBCC Shrinkfile(@LogFileLogicalName,1024) GO |
2008 pikt het commando "Truncate_Only" kennelijk niet meer.
Wat ik nu heb gedaan is het volgende:
code:
1
2
3
4
5
6
7
8
9
10
11
12
| USE <DBNAME> select name,recovery_model_desc from sys.databases GO Alter database <DBNAME> Recovery simple GO Declare @LogFileLogicalName sysname select @LogFileLogicalName=Name from sys.database_files where Type=1 print @LogFileLogicalName DBCC Shrinkfile(@LogFileLogicalName,1024) GO Alter database <DBNAME> Set Recovery full GO |
Di's natuurlijk niet echt netjes.
Weet iemand de nette manier om een transaction log te schonen door middel van een SQL script?