Bonjour,
est il possible d'annuler l'écriture dans le journal de transaction? si oui comment le faire?
Merci d'avance pour vos aides.
![]()
Bonjour,
est il possible d'annuler l'écriture dans le journal de transaction? si oui comment le faire?
Merci d'avance pour vos aides.
![]()
La réponse est NON. SQL server comme tous les SGBD a besoin d'1 journal de transaction pour écrire toutes les transactions effectuées sur les bases. Quand on démarre SQL server, le moteur lit d'abord ce journal "intime" pour identifier ce qu'il doit commencer par faire, concernant l'état des objets... Sans ce journal, pas de base...
A+
Etienne ZINZINDOHOUE
Etienne ZINZINDOHOUE
Billets-Articles
Bonsoir,
Quelle drôle d'idée vous avez !!Est il possible d'annuler l'écriture dans le journal de transaction? si oui comment le faire?
Quelle idée avez vous derrière cette question ? Que voulez vous faire exactement ?
++
Si vous préférez vous passer d'un journal de transactions, alors utilisez des fichiers COBOL !
A +
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
Bonjour,
mon besoin est le suivant :
j'ai un très grand fichiers texte de l'ordre de 1.5 Go de taille, mon application C# utilise un objet SqlBulkCopy du frameWork 2.0, cet objet se base essentiellement sur Bulk Insert (c'est exactement comme bcp)
le problème c'est que lors de l'exécution du prg les ressources occupées par Sql Server augmente constamment et il atteint 1.5Go de ram et puis le prg se crache en me signalant un dépassement de délais d'attente.
alors j'ai eu l'idée de s'en passer de l'écriture dans le fichiers journal car jamais je ferais une restauration et si une erreur apparait dans l'insertion je refais tous.
Si quelqu'un a une idée qui me permet d'insérer tous mes données dans la base sans que le serveur bouffe tous les ressources je serai ravis de la connaitre.
Merci d'avance
![]()
Bonjour,
Le fait que SQL Server consomme toute la mémoire disponible est tout à fait normal.
En effet, il travaille exclusivement en RAM pour diminuer les temps de traitement.
Pensez à ce que cela donnerait si tous les accès aux données se faisaient depuis ou vers le disque : une lenteur exceptionnelle
En revanche pour éviter de faire gonfler le fichier du journal de transactions pour vos opérations d'import en masse, vous pouvez utiliser le mode de récupération BULK_LOGGED :
@++
Code : Sélectionner tout - Visualiser dans une fenêtre à part ALTER DATABASE maBD SET RECOVERY BULK_LOGGED![]()
Votre application C# est-elle hébergée sur la même machine que le serveur SQL ?
Si oui, alors il faut envisager avoir un serveur SQL dédié, c'est à dire séparé ton appli de l'SGBD,
pour enfin allouer suffisamment de mémoire à SQL (commutateur /3GB ou AWE selon la config du serveur),....
A +
Etienne ZINZINDOHOUE
Etienne ZINZINDOHOUE
Billets-Articles
Partager