Simple Or Bulk Logged Recovery Model For Fastest Import ?
Dec 21, 2006
We have a sql 2005 x64 database (datawarehouse related), essentially a work area for us, that we truncate and re-populate via BCP weekly. (We don't backup the database at all) . From the perspective of data-import speed what is the best recovery model to use: Bulk-Logged or Simple? (I have read sql 2005 BOL and don't find it partcularly clear on this point.)
Barkingdog
P.S. Anyone know of an article listing "best practices" for high-speed data import?
We have our Production server having database on which Few DTS packages execute every night. Most of them have Bulk Insert stored procedures running.
SO we have to set Recovery Model of the database to simple for that period of time, otherwise it will blow up our logs.
Is there any way we can set up log shipping between our production and standby server, but pause it for some time, set recovery model of primary db to simple, execute DTS Bulk Insert Jobs, Bring it Back to Full recovery Model AND finally bring back Log SHipping.
It it possible, if yes how can we achieve this.
If not what could be another DR solution in this scenario.
We are using a .bat script to restore several client dbs onto our sql server 2000 db. We want to set the client dbs from full recovery to simple. What command should I use in the .bat file to make this change?
.bat file == :: Second, restore data from SQL Server backup file to SQL server... isql -E -S ao3ao3 -Q "RESTORE DATABASE CBSN FROM DISK = 'D:MARS_SYSDATAUPDATESCBSNCBSN.BAK' WITH MOVE 'MEDISUN_BCNV_Data' TO 'D:SQLDATACBSN_data.mdf', MOVE 'MEDISUN_BCNV_Log' TO 'D:SQLDATACBSN_log.ldf',REPLACE;"
We have a fairly large database that we use to store mom alerts and it stopped alerting as it's transaction log became full. I suggested to the owner of the database to set the simple recovery model so the log could automatically be truncated. However, it appears that the database is frequently reaching it's limit (of 3gb) and I'm having to set the limit even higher on a daily basis. Can anyone tell me why this is occuring? I understood that when the log file reaches 70% it should automatically shrink?
DB replication can set db recovery model to simple ,why db mirror can not db recovery model to simple.
DB mirror must be set to full recovery model.
As far as I know, whatever db mirror and db replication ,there is a log reader to read the log in the ldf file DB mirror and DB replication are almost the same principle to replicate the db to another db server.
On SQL 2000 or SQL20005 will a database's log file automatically be truncated if the database is on simple recovery model?
The reason I ask is that we have a database (simple recovery) that keeps growing its logfile each weekend which causes disc space problems.
I am kinda new to SS but from the reading in BoL I've done was under the impression that for simple recovery model log records are only needed until the transaction has been written to disc and committed, and that SS will handle truncating obsolete records from the log where necessary.
I'm doing DBCC SQLPERF(logspace) which shows this first thing on a Monday morning:
Database Name Log Size (MB) Log Space Used (%) -------------- --------------- ---------------------
myDB 4841.93 99.19465
Note the size of the log file - the data file is only 700MB!
Issuing a DBCC OPENTRAN doesn't show any open transactions, and a CHECKPOINT doesn't do anything to reduce the log space used (which if there were dirty records in the log still not written to disc this ought to do shouldn't it?).
The database is only written to as a replication subscriber.
Any suggestions what would be causing the log file to fill up? At the moment I'm resorting to BACKUP LOG myDB WITH TRUNCATE_ONLY and considering scheduling this as an hourly job over the weekend - any reasons why this could be a bad idea?
My trancaction log is 25GB and my database file is 39GB. I justswitched to the 'Simple' recovery model from the 'Full' recovery model.When if ever can I expect the size of the transaction log to reduce insize? Is there anything else that I should do to aide with thereduction?Thanks,Peter
Have a database that's in "Simple" recovery mode whose .ldf has grown to 270GB. This database is a data warehouse so "full" is not required. I put it in simple mode a month ago and shrunk the log down and now it's filled up the disk.
What steps can I take to mitigate this in future? I've read that this is caused by long running transactions which fill the log for DR purposes. Should I put the database back into full mode and backup/truncate daily.
The auto-growth is set to 128MB which is very low.
One of our database is in simple recovery model, and usually generating more than 220 GB log file (.ldf) every week. We are shrinking log file many times to release the space.
But as its not advisable I am looking for any other options. I suggested to change the recovery model to Full and start T-log backup, but client dont want to change recovery model.
Is there any way to manage Log file of Simple recovery model to maintain disk space?
Im bulk loading a ton of data into MSSQL SERVER 2005 Standard Edition. I used to do this process in version 2000. It seems there is some more overhead in 2005. Is there a way to drop logging to almost null to speed up insert?
Pages on a full recovery model database corrupted, need to ensure data loss is minimal for restore operation am thinking about restoring the latest full backup.
I sometimes have problems when running index rebuilds due to the tran log growing too big. MS suggest switching the db from full recovery mode to bulk-logged mode fur the duration of the rebuild. Question is, when you switch a db from full recovery to bulk logged, does that invalidate the tran log backups up to that point? When the db is switched back into full-recovery mode, are the following tran log backups still in sequence?
SQL Server 2000 SP3. Prior to SP3 the recovery model was switched to simple during transfer (Copy object task) and changed back to the previouis setting after DTS was complete. Nice thing because performance was increased and T-Log was keep small.
Now I assume that the recovery model is switched to bulk-logged causing the T-Log to explode, to be onest not in all my databases.
1.Is my interpretation regarding recovery model correct? 2.Does anybody knows the reason of this change?
Any suggestion is really appreciate. Thank you very much - kind regards.
Hello, I'm new to MS SQL Server I want to know which recovery model is good, Full or Bulk Logged as I'm doing full backup at 11:00 PM and diffential Backup at 12:30 PM and from 8:00 AM to 6:00 PM 15 min log backups. Please guide me which recovery model should I choose.
What would be the best Recovery Model for: a database which is 4 gig in size and imports via MSAccess queries and also stored procedures approximately 400,000 meg of data each month (and some other update queries are run against it) and it is also queried off of for totals on weekly basis?
The problem is that the SQL Server box only has 512 meg of memory and the tranlog on this database grows tremendously each import and when update queries are run against it. This tends to slow things down a bit on our other databases. We are getting a new SQL Server box but until then, what would be the best recovery model? I currently have it as Bulk-Logged and allow the tranlog to grow by 10% (with a base of 250 meg). The tranlog grows to up to 5-10 gig and in order to shrink it, I have to change the recovery model to Simple, and then back to Bulk-Logged in order to shrink it (I've tried all the dbcc shrinkdatabase, dbcc shrinkfile, dbcc showcontig, and dbcc checkdb commands as well as BACKUP LOG dbName WITH TRUNCACTE_ONLY and nothing will shrink it unless I change the recovery model to simple.)
does the recovery model also change in a replication enviroment when you change a database from simple to full? regards Johan van der Wiel Johan.vanderWiel@getronics.com
Hello,I've follow problem - thing to consider.SQLServer 200 sp3a, ms win 2003 serverdb simple recoveryThere is a production database, wich is around 20gb big. Db is backedup each day completely, but it takes up to 30 minutes.Because there is a simple recovery model, there is no transaction logbackup (it fails anyway), and we do not have up-to-point recovery.I'm considering to switch to full recovery model, but ....The problem is, I do not want to affect performance (when the backup isrunning, database is hardly avalible).So my question will be: does the full recovery model, will be betterfor db performance (for acces and blocking db; means, does it will takeshorter?)Strategy will be (I hope ok) to back up during the week onlytransaction log (incremental), and once at the weekend, full databasebackup.Generaly, which one is better for performance?Which strategy will be the best, to keep performance at high level, butalso have the possibility to restore data (in case of emergency) fromthe newest possible backup.Thanks for helpMatik
Hi, What is the relationship between recovery model and transaction log? How does recovery model affect txn log file size? How to decide which model should I use?
In SQL 2005, sys.databases has a column named recovery_model that stores a code for the type of recovery model used by the database. Where is the recovery_model column in the SQL 2000 master database?
I cannot think of any reason, in our environment, why I would recover the model database. Change framework has all databases coming from DEV & QA before landing on PROD. We have never used the model database as framework of new databases either.
So, if I discontinued backup of the database, what is my recovery method if it become corrupt? Since mine is not used, can I simply copy it from another server?
I am having lot of log problems with Subscription databases. Currently all my subscription databases are on Full recovery mode. I am thinking to change them to simple because I don't I will be doing point in time recovery of them.
Do the subcription databases have to be on Full mode? Can I change them to simple to keep my log small and then I do not have to backups of my logs also? Please let me know.
Given the follwoing scenario: You create a snapshot of a database with full recovery model, change it's recovery model to simple, then perform several updates/modifications on the database, before you finally (due to an error) restore the database from the snapshot.
Will the log chain be broken or not? The resteore sets the recovery model back to full, but I'm still a bit "curious" about the transaction logs.
The SQL Server is running full recovery model but they would like it to be changed to simple while the data backup occurs then set back to full. Is there a way to do this in a stored procedure or is it all done via options ? Thanks
Hi all,I have a SQL Server 2000 database that is using the Full recoverymodel. The database is purely receiving inserts (and plenty of them)with maybe some view/table creation for reporting.In this state I would expect the log to grow ad infinitum but it getsto about 32% used and then empties.The log is not being backed up at all so am I missing something else?CheersDee
SQL newbie here. I just looked at my Job Activity monitor and found that my Transaction log backups are failing. I looked at the error and it read as follows:
Executing the query "BACKUP LOG [OperationsManager] TO DISK = N'D:\SQL\MSSQL.1\MSSQL\Backup\OperationsManager\OperationsManager_backup_200805061000.trn' WITH RETAINDAYS = 1, NOFORMAT, NOINIT, NAME = N'OperationsManager_backup_20080506100001', SKIP, REWIND, NOUNLOAD, STATS = 10 " failed with the following error: "The statement BACKUP LOG is not allowed while the recovery model is SIMPLE. Use BACKUP DATABASE or change the recovery model using ALTER DATABASE. BACKUP LOG is terminating abnormally.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
I read some of the posts regarding this error, but I am not sure how to do the steps. How do I change the recovery model? I am new to this so I have no clue how to do this.