title: Using SSMS 2014, how to generate efficient insert scripts?
body: <p>When generating INSERT scripts for tables in SSMS 2014, the output of the generated script is in the format of:</p>
  
  <pre><code>INSERT [schema].[table] (&lt;column_list) VALUES (column_values)
  GO
  INSERT [schema].[table] (&lt;column_list) VALUES (column_values)
  GO
  </code></pre>
  
  <p>While this gets the job done, it is horribly slow.  We can manually re-tool the script to be in the format of:</p>
  
  <pre><code>INSERT [schema].[table] (&lt;column_list&gt;)
  VALUES (column_values)
  ,(column_values) -- up to 1000 rows
  GO
  INSERT [schema].[table] (&lt;column_list&gt;)
  VALUES (column_values)
  ,(column_values) -- up to 1000 rows
  GO
  </code></pre>
  
  <p>We've noted an increase in speed of more than 10x by changing the script in this manner, which is very beneficial if it is a script that needs to be re-run occasionally (not just a one-time insert.)</p>
  
  <p>The question is, is there a way to do this from within the SSMS script generation, or alternately, is there a process that can convert the script that is in the first format into a script in the second format?</p>
  
  <p><a href="https://i.stack.imgur.com/i9bRk.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/i9bRk.png" alt="generating INSERT scripts for tables in SSMS 2014"></a><a href="https://i.stack.imgur.com/MXyn5.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/MXyn5.png" alt="Select table"></a><a href="https://i.stack.imgur.com/plrnk.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/plrnk.png" alt="enter image description here"></a></p>