{"id":1790,"date":"2010-12-09T18:04:10","date_gmt":"2010-12-09T17:04:10","guid":{"rendered":"http:\/\/blog.capdata.fr\/?p=1790"},"modified":"2019-09-13T14:49:23","modified_gmt":"2019-09-13T13:49:23","slug":"recuperer-lespace-consomme-par-le-versionning-de-ligne","status":"publish","type":"post","link":"https:\/\/blog.capdata.fr\/index.php\/recuperer-lespace-consomme-par-le-versionning-de-ligne\/","title":{"rendered":"R\u00e9cup\u00e9rer l&#8217;espace consomm\u00e9 par le versionning de lignes"},"content":{"rendered":"<a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-twitter nolightbox\" data-provider=\"twitter\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Twitter\" href=\"https:\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F1790&#038;text=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"twitter\" title=\"Share on Twitter\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/twitter.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-linkedin nolightbox\" data-provider=\"linkedin\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Linkedin\" href=\"https:\/\/www.linkedin.com\/shareArticle?mini=true&#038;url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F1790&#038;title=R%C3%A9cup%C3%A9rer%20l%E2%80%99espace%20consomm%C3%A9%20par%20le%20versionning%20de%20lignes\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"linkedin\" title=\"Share on Linkedin\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/linkedin.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-mail nolightbox\" data-provider=\"mail\" rel=\"nofollow\" title=\"Share by email\" href=\"mailto:?subject=R%C3%A9cup%C3%A9rer%20l%E2%80%99espace%20consomm%C3%A9%20par%20le%20versionning%20de%20lignes&#038;body=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20:%20https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F1790\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"mail\" title=\"Share by email\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/mail.png\" \/><\/a><p>Pour cet article, je pars du principe que vous \u00eates familier du mode d&#8217;isolation SNAPSHOT ou READ_COMMITTED_SNAPSHOT (RCSI) qui permettent \u00e0 SQL Server de se rapprocher du mode READ_COMMITTED par d\u00e9faut sous Oracle ou InnoDB. Pour plus d&#8217;informations, cf la page MSDN concernant ces modes: <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/tcbchxcb%28v=vs.80%29.aspx\">http:\/\/msdn.microsoft.com\/en-us\/library\/tcbchxcb%28v=vs.80%29.aspx<\/a><\/p>\n<p>Lorsque SNAPSHOT_ISOLATION ou READ_COMMITTED_SNAPSHOT est activ\u00e9 sur une base, les UPDATES \/ DELETES vont pousser les lignes originales dans le version store. Donc un des inconv\u00e9nients d&#8217;utiliser ce m\u00e9canisme est la pression qui s&#8217;ajoute sur tempdb.<\/p>\n<p>Un autre impact moins connu est l&#8217;accroissement de l&#8217;espace utilis\u00e9 dans les lignes modifi\u00e9es: 14 octets de plus vont \u00eatre utilis\u00e9s par ligne, 6 pour pour stocker l&#8217;identifiant de la transaction qui a modifi\u00e9 la ligne, et 8 pour stocker le RID de la copie dans le version store. On essaie de s&#8217;int\u00e9resser au nombre de pages avant et apr\u00e8s modification en RCSI, et au nombre de page splits potentiels qui peuvent survenir lorsque l&#8217;on modifie des donn\u00e9es en masse dans une base en mode RCSI.<\/p>\n<p>On cr\u00e9\u00e9 une table clusteris\u00e9e d&#8217;une seule page que l&#8217;on va remplir au maximum. A t\u00e2tons on arrive \u00e0 voir que 250 lignes permettent de remplir la table au maximum de la capacit\u00e9 d&#8217;une page:<\/p>\n<pre><span style=\"color: #0000ff;\">create database testRCSI\r\nGO\r\nuse testRCSI\r\nGO\r\ncreate table RCSI(a numeric identity, b varchar(10))\r\nGO\r\ninsert into RCSI values (replicate('b',10))\r\nGO 250\r\ncreate unique clustered index PK_RCSI on RCSI(a)\r\nGO\r\ndbcc ind('testRCSI','RCSI',-1)\r\nGO<\/span>\r\n\r\n<span style=\"color: #008000;\">\/*\r\nPageFID PagePID\u00a0\u00a0\u00a0\u00a0 IAMFID IAMPID\u00a0\u00a0\u00a0\u00a0\u00a0 ObjectID\u00a0\u00a0\u00a0 IndexID\u00a0\u00a0\u00a0\u00a0 PartitionNumber (...)\r\n------- ----------- ------ ----------- ----------- ----------- --------------- (...)\r\n1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 114\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 NULL\u00a0\u00a0 NULL\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2073058421\u00a0 1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 (...)\r\n1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 109\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1\u00a0\u00a0\u00a0\u00a0\u00a0 114\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2073058421\u00a0 1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 (...)\r\n\r\nPartitionID\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 iam_chain_type\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 PageType IndexLevel NextPageFID (...)\r\n-------------- -------------------- -------------------- -------- --------(...)\r\n72057594038386688\u00a0\u00a0\u00a0 In-row data\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 10\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 NULL\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 (...)\r\n72057594038386688\u00a0\u00a0\u00a0 In-row data\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 (...)<\/span><\/pre>\n<p><span style=\"color: #008000;\">*\/<\/span><\/p>\n<pre><span style=\"color: #0000ff;\">select * from sys.dm_db_index_physical_stats(11,2073058421,1,NULL, 'DETAILED')\r\nwhere Index_Level=0\r\nGO<\/span><\/pre>\n<pre><span style=\"color: #008000;\">\/* <span style=\"color: #008000;\">La sortie est simplifi\u00e9e pour plus de lisibilit\u00e9<\/span>\r\n<span style=\"color: #008000;\">avg_page_space_used_in_percent=<\/span><\/span><span style=\"color: #008000;\">98,8139362490734\r\nmax_record_size_in_bytes=30<\/span><span style=\"color: #008000;\"><span style=\"color: #008000;\">\r\n<\/span>*\/<\/span><\/pre>\n<p>Donc nous savons que notre table est stock\u00e9e sur la page (1:109), que la page est dense \u00e0 98,8% et que la taille max d&#8217;une ligne est 30 octets. On passe la base en mode RCSI et on note la valeur de Page Splits courante.<\/p>\n<pre><span style=\"color: #008000;\"><span style=\"color: #0000ff;\">alter database testRCSI set read_committed_snapshot on\r\nGO\r\nselect cntr_value from sys.dm_os_performance_counters where counter_name like 'Page Splits%'\r\nGO<\/span>\r\n\/* cntr_value\r\n--------------------\r\n4013\r\n*\/<\/span><\/pre>\n<p>Ensuite, on va mettre \u00e0 jour les lignes par une valeur de dimension \u00e9gale (on remplace le caract\u00e8re &#8216;b&#8217; par un &#8216;c&#8217; par exemple), et on s&#8217;int\u00e9resse en premier lieu \u00e0 la nouvelle taille max de chaque ligne:<\/p>\n<pre><span style=\"color: #0000ff;\">update RCSI set b = (replicate('c',10))\r\nGO\r\nselect * from sys.dm_db_index_physical_stats(11,2073058421,1,NULL, 'DETAILED')\r\nwhere Index_Level=0\r\nGO<\/span><span style=\"color: #008000;\">\r\n \/* La sortie est simplifi\u00e9e pour plus de lisibilit\u00e9\r\n avg_page_space_used_in_percent=<\/span><span style=\"color: #008000;\">71,0155670867309 <\/span>\r\n<span style=\"color: #008000;\"> max_record_size_in_bytes=44\r\n *\/<\/span><\/pre>\n<p>On voit que chaque ligne a bien grossi de 14 octets. Le version store quant \u00e0 lui a bien stock\u00e9 les 250 lignes modifi\u00e9es (il faut le faire dans la minute qui suit le commit sinon le version store est recycl\u00e9):<\/p>\n<pre><span style=\"color: #0000ff;\">select version_store_reserved_page_count from sys.dm_db_file_space_usage\r\nGO\r\n<span style=\"color: #008000;\">\/*\r\nversion_store_reserved_page_count\r\n----------------------------------------------\r\n16\r\n*\/<\/span><\/span><\/pre>\n<p>Si on regarde le plan d&#8217;allocation de notre table mise \u00e0 jour:<\/p>\n<pre><span style=\"color: #008000;\"><span style=\"color: #0000ff;\">dbcc ind('testRCSI','RCSI',-1)\r\nGO<\/span><\/span><\/pre>\n<pre><span style=\"color: #008000;\">\/*\r\nPageFID PagePID\u00a0\u00a0\u00a0\u00a0 IAMFID IAMPID\u00a0\u00a0\u00a0\u00a0\u00a0 ObjectID\u00a0\u00a0\u00a0 IndexID\u00a0\u00a0\u00a0\u00a0 PartitionNumber\r\n------- ----------- ------ ----------- ----------- ----------- ---------------\r\n1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 114\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 NULL\u00a0\u00a0 NULL\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2073058421\u00a0 1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 109\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1\u00a0\u00a0\u00a0\u00a0\u00a0 114\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2073058421\u00a0 1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 41\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1\u00a0\u00a0\u00a0\u00a0\u00a0 114\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2073058421\u00a0 1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 73\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1\u00a0\u00a0\u00a0\u00a0\u00a0 114\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2073058421\u00a0 1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n<\/span><\/pre>\n<pre><span style=\"color: #008000;\">PartitionID\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 iam_chain_type\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 PageType IndexLevel (...)\r\n-------------------- -------------------- -------- ---------- (...)\r\n72057594038386688\u00a0\u00a0\u00a0 In-row data\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 10\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 NULL\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 (...)\r\n72057594038386688\u00a0\u00a0\u00a0 In-row data\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 (...)\r\n72057594038386688\u00a0\u00a0\u00a0 In-row data\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 (...)\r\n72057594038386688\u00a0\u00a0\u00a0 In-row data\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 (...)<\/span><\/pre>\n<p><span style=\"color: #008000;\">*\/<\/span><\/p>\n<p>Une page root a \u00e9t\u00e9 ajout\u00e9e pour l&#8217;index clusteris\u00e9 (PageType=2) plus une nouvelle page leaf (PageType=1). On n&#8217;est plus sur une seule page de donn\u00e9es mais sur deux maitenant pourtant pour la m\u00eame quantit\u00e9 de donn\u00e9es, ce qui signifie qu&#8217;un page split est intervenu pour couper notre page initiale en deux.\u00a0 Un rapide coup d&#8217;oeil au compteur perfmon va nous le confirmer (je pr\u00e9cise que l&#8217;instance est idle):<\/p>\n<pre><span style=\"color: #0000ff;\">select cntr_value from sys.dm_os_performance_counters where counter_name like 'Page Splits%'\r\nGO\r\n<\/span><span style=\"color: #008000;\">\/*\r\ncntr_value\r\n--------------------\r\n4015\r\n*\/\r\n<\/span><\/pre>\n<p>Pour r\u00e9cup\u00e9rer cet espace, reconstruire l&#8217;index cluster devrait suffire:<\/p>\n<pre><span style=\"color: #0000ff;\">alter index PK_RCSI on RCSI rebuild\r\nGO<\/span><span style=\"color: #0000ff;\"><span style=\"color: #0000ff;\">\r\n<\/span>dbcc ind('testRCSI','RCSI',-1)\r\nGO<\/span><\/pre>\n<pre><span style=\"color: #008000;\">\/*\r\nPageFID PagePID\u00a0\u00a0\u00a0\u00a0 IAMFID IAMPID\u00a0\u00a0\u00a0\u00a0\u00a0 ObjectID\u00a0\u00a0\u00a0 IndexID\u00a0\u00a0\u00a0\u00a0 PartitionNumber (...)\r\n------- ----------- ------ ----------- ----------- ----------- --------------- (...)\r\n1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 89\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 NULL\u00a0\u00a0 NULL\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2073058421\u00a0 1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 (...)\r\n1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 80\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1\u00a0\u00a0\u00a0\u00a0\u00a0 114\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2073058421\u00a0 1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 (...)\r\n\r\nPartitionID\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 iam_chain_type\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 PageType IndexLevel NextPageFID (...)\r\n-------------- -------------------- -------------------- -------- --------(...)\r\n72057594038386688\u00a0\u00a0\u00a0 In-row data\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 10\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 NULL\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 (...)\r\n72057594038386688\u00a0\u00a0\u00a0 In-row data\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 (...)<\/span><\/pre>\n<pre><span style=\"color: #008000;\">*\/<\/span><\/pre>\n<p>L&#8217;objet a \u00e9t\u00e9 d\u00e9plac\u00e9 et r\u00e9organis\u00e9 en entier (les pages sont diff\u00e9rentes). On retrouve notre page unique du d\u00e9but. Quant \u00e0 la taille des lignes, elle est revenue \u00e0 sa valeur nominale:<\/p>\n<pre><span style=\"color: #0000ff;\">select * from sys.dm_db_index_physical_stats(11,2073058421,1,NULL, 'DETAILED') where Index_Level=0\r\nGO\r\n<span style=\"color: #008000;\">\/* La sortie est simplifi\u00e9e pour plus de lisibilit\u00e9\r\navg_page_space_used_in_percent=98,8139362490734\r\nmax_record_size_in_bytes=30\r\n*\/<\/span><\/span><\/pre>\n<p>Morale de l&#8217;histoire, attention aux page splits et \u00e0 l&#8217;espace qu&#8217;occupent des lignes versionn\u00e9es en mode SNAPSHOT_ISOLATION ou READ_COMMITTED_SNAPSHOT. Et reconstruire fr\u00e9quemment les indexes sur ces tables permet de r\u00e9cup\u00e9rer l&#8217;espace perdu.<\/p>\n<p>A+. David B.<\/p>\n<a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-twitter nolightbox\" data-provider=\"twitter\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Twitter\" href=\"https:\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F1790&#038;text=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"twitter\" title=\"Share on Twitter\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/twitter.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-linkedin nolightbox\" data-provider=\"linkedin\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Linkedin\" href=\"https:\/\/www.linkedin.com\/shareArticle?mini=true&#038;url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F1790&#038;title=R%C3%A9cup%C3%A9rer%20l%E2%80%99espace%20consomm%C3%A9%20par%20le%20versionning%20de%20lignes\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"linkedin\" title=\"Share on Linkedin\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/linkedin.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-mail nolightbox\" data-provider=\"mail\" rel=\"nofollow\" title=\"Share by email\" href=\"mailto:?subject=R%C3%A9cup%C3%A9rer%20l%E2%80%99espace%20consomm%C3%A9%20par%20le%20versionning%20de%20lignes&#038;body=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20:%20https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F1790\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"mail\" title=\"Share by email\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/mail.png\" \/><\/a>","protected":false},"excerpt":{"rendered":"<p>Pour cet article, je pars du principe que vous \u00eates familier du mode d&#8217;isolation SNAPSHOT ou READ_COMMITTED_SNAPSHOT (RCSI) qui permettent \u00e0 SQL Server de se rapprocher du mode READ_COMMITTED par d\u00e9faut sous Oracle ou InnoDB. Pour plus d&#8217;informations, cf la&hellip; <a href=\"https:\/\/blog.capdata.fr\/index.php\/recuperer-lespace-consomme-par-le-versionning-de-ligne\/\" class=\"more-link\">Continuer la lecture <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":7933,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[179],"class_list":["post-1790","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sqlserver","tag-snapshot-isolation"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>R\u00e9cup\u00e9rer l&#039;espace consomm\u00e9 par le versionning de lignes - Capdata TECH BLOG<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.capdata.fr\/index.php\/recuperer-lespace-consomme-par-le-versionning-de-ligne\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"R\u00e9cup\u00e9rer l&#039;espace consomm\u00e9 par le versionning de lignes - Capdata TECH BLOG\" \/>\n<meta property=\"og:description\" content=\"Pour cet article, je pars du principe que vous \u00eates familier du mode d&#8217;isolation SNAPSHOT ou READ_COMMITTED_SNAPSHOT (RCSI) qui permettent \u00e0 SQL Server de se rapprocher du mode READ_COMMITTED par d\u00e9faut sous Oracle ou InnoDB. Pour plus d&#8217;informations, cf la&hellip; Continuer la lecture &rarr;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.capdata.fr\/index.php\/recuperer-lespace-consomme-par-le-versionning-de-ligne\/\" \/>\n<meta property=\"og:site_name\" content=\"Capdata TECH BLOG\" \/>\n<meta property=\"article:published_time\" content=\"2010-12-09T17:04:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-09-13T13:49:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2010\/12\/version.png\" \/>\n\t<meta property=\"og:image:width\" content=\"653\" \/>\n\t<meta property=\"og:image:height\" content=\"495\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"David Baffaleuf\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"David Baffaleuf\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/recuperer-lespace-consomme-par-le-versionning-de-ligne\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/recuperer-lespace-consomme-par-le-versionning-de-ligne\/\"},\"author\":{\"name\":\"David Baffaleuf\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/person\/136297da9f61d6e4878abe0f48bc5fbf\"},\"headline\":\"R\u00e9cup\u00e9rer l&#8217;espace consomm\u00e9 par le versionning de lignes\",\"datePublished\":\"2010-12-09T17:04:10+00:00\",\"dateModified\":\"2019-09-13T13:49:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/recuperer-lespace-consomme-par-le-versionning-de-ligne\/\"},\"wordCount\":520,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/blog.capdata.fr\/#organization\"},\"keywords\":[\"snapshot isolation\"],\"articleSection\":[\"SQL Server\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/blog.capdata.fr\/index.php\/recuperer-lespace-consomme-par-le-versionning-de-ligne\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/recuperer-lespace-consomme-par-le-versionning-de-ligne\/\",\"url\":\"https:\/\/blog.capdata.fr\/index.php\/recuperer-lespace-consomme-par-le-versionning-de-ligne\/\",\"name\":\"R\u00e9cup\u00e9rer l'espace consomm\u00e9 par le versionning de lignes - Capdata TECH BLOG\",\"isPartOf\":{\"@id\":\"https:\/\/blog.capdata.fr\/#website\"},\"datePublished\":\"2010-12-09T17:04:10+00:00\",\"dateModified\":\"2019-09-13T13:49:23+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/recuperer-lespace-consomme-par-le-versionning-de-ligne\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.capdata.fr\/index.php\/recuperer-lespace-consomme-par-le-versionning-de-ligne\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/recuperer-lespace-consomme-par-le-versionning-de-ligne\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/blog.capdata.fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"R\u00e9cup\u00e9rer l&#8217;espace consomm\u00e9 par le versionning de lignes\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.capdata.fr\/#website\",\"url\":\"https:\/\/blog.capdata.fr\/\",\"name\":\"Capdata TECH BLOG\",\"description\":\"Le blog technique sur les bases de donn\u00e9es de CAP DATA Consulting\",\"publisher\":{\"@id\":\"https:\/\/blog.capdata.fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.capdata.fr\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/blog.capdata.fr\/#organization\",\"name\":\"Capdata TECH BLOG\",\"url\":\"https:\/\/blog.capdata.fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp\",\"contentUrl\":\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp\",\"width\":800,\"height\":254,\"caption\":\"Capdata TECH BLOG\"},\"image\":{\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/company\/cap-data-consulting\/mycompany\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/person\/136297da9f61d6e4878abe0f48bc5fbf\",\"name\":\"David Baffaleuf\",\"sameAs\":[\"http:\/\/www.capdata.fr\"],\"url\":\"https:\/\/blog.capdata.fr\/index.php\/author\/dbaffaleuf\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"R\u00e9cup\u00e9rer l'espace consomm\u00e9 par le versionning de lignes - Capdata TECH BLOG","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.capdata.fr\/index.php\/recuperer-lespace-consomme-par-le-versionning-de-ligne\/","og_locale":"fr_FR","og_type":"article","og_title":"R\u00e9cup\u00e9rer l'espace consomm\u00e9 par le versionning de lignes - Capdata TECH BLOG","og_description":"Pour cet article, je pars du principe que vous \u00eates familier du mode d&#8217;isolation SNAPSHOT ou READ_COMMITTED_SNAPSHOT (RCSI) qui permettent \u00e0 SQL Server de se rapprocher du mode READ_COMMITTED par d\u00e9faut sous Oracle ou InnoDB. Pour plus d&#8217;informations, cf la&hellip; Continuer la lecture &rarr;","og_url":"https:\/\/blog.capdata.fr\/index.php\/recuperer-lespace-consomme-par-le-versionning-de-ligne\/","og_site_name":"Capdata TECH BLOG","article_published_time":"2010-12-09T17:04:10+00:00","article_modified_time":"2019-09-13T13:49:23+00:00","og_image":[{"width":653,"height":495,"url":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2010\/12\/version.png","type":"image\/png"}],"author":"David Baffaleuf","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"David Baffaleuf","Dur\u00e9e de lecture estim\u00e9e":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.capdata.fr\/index.php\/recuperer-lespace-consomme-par-le-versionning-de-ligne\/#article","isPartOf":{"@id":"https:\/\/blog.capdata.fr\/index.php\/recuperer-lespace-consomme-par-le-versionning-de-ligne\/"},"author":{"name":"David Baffaleuf","@id":"https:\/\/blog.capdata.fr\/#\/schema\/person\/136297da9f61d6e4878abe0f48bc5fbf"},"headline":"R\u00e9cup\u00e9rer l&#8217;espace consomm\u00e9 par le versionning de lignes","datePublished":"2010-12-09T17:04:10+00:00","dateModified":"2019-09-13T13:49:23+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.capdata.fr\/index.php\/recuperer-lespace-consomme-par-le-versionning-de-ligne\/"},"wordCount":520,"commentCount":1,"publisher":{"@id":"https:\/\/blog.capdata.fr\/#organization"},"keywords":["snapshot isolation"],"articleSection":["SQL Server"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blog.capdata.fr\/index.php\/recuperer-lespace-consomme-par-le-versionning-de-ligne\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blog.capdata.fr\/index.php\/recuperer-lespace-consomme-par-le-versionning-de-ligne\/","url":"https:\/\/blog.capdata.fr\/index.php\/recuperer-lespace-consomme-par-le-versionning-de-ligne\/","name":"R\u00e9cup\u00e9rer l'espace consomm\u00e9 par le versionning de lignes - Capdata TECH BLOG","isPartOf":{"@id":"https:\/\/blog.capdata.fr\/#website"},"datePublished":"2010-12-09T17:04:10+00:00","dateModified":"2019-09-13T13:49:23+00:00","breadcrumb":{"@id":"https:\/\/blog.capdata.fr\/index.php\/recuperer-lespace-consomme-par-le-versionning-de-ligne\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.capdata.fr\/index.php\/recuperer-lespace-consomme-par-le-versionning-de-ligne\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/blog.capdata.fr\/index.php\/recuperer-lespace-consomme-par-le-versionning-de-ligne\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/blog.capdata.fr\/"},{"@type":"ListItem","position":2,"name":"R\u00e9cup\u00e9rer l&#8217;espace consomm\u00e9 par le versionning de lignes"}]},{"@type":"WebSite","@id":"https:\/\/blog.capdata.fr\/#website","url":"https:\/\/blog.capdata.fr\/","name":"Capdata TECH BLOG","description":"Le blog technique sur les bases de donn\u00e9es de CAP DATA Consulting","publisher":{"@id":"https:\/\/blog.capdata.fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.capdata.fr\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/blog.capdata.fr\/#organization","name":"Capdata TECH BLOG","url":"https:\/\/blog.capdata.fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/","url":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp","contentUrl":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp","width":800,"height":254,"caption":"Capdata TECH BLOG"},"image":{"@id":"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/cap-data-consulting\/mycompany\/"]},{"@type":"Person","@id":"https:\/\/blog.capdata.fr\/#\/schema\/person\/136297da9f61d6e4878abe0f48bc5fbf","name":"David Baffaleuf","sameAs":["http:\/\/www.capdata.fr"],"url":"https:\/\/blog.capdata.fr\/index.php\/author\/dbaffaleuf\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/1790","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/comments?post=1790"}],"version-history":[{"count":68,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/1790\/revisions"}],"predecessor-version":[{"id":1855,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/1790\/revisions\/1855"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/media\/7933"}],"wp:attachment":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/media?parent=1790"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/categories?post=1790"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/tags?post=1790"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}