{"id":7195,"date":"2014-07-21T10:03:12","date_gmt":"2014-07-21T10:03:12","guid":{"rendered":"https:\/\/test.simple-talk.com\/uncategorized\/compare-those-hard-to-reach-servers-with-sql-snapper\/"},"modified":"2016-07-28T10:55:25","modified_gmt":"2016-07-28T10:55:25","slug":"compare-those-hard-to-reach-servers-with-sql-snapper","status":"publish","type":"post","link":"https:\/\/www.red-gate.com\/simple-talk\/blogs\/compare-those-hard-to-reach-servers-with-sql-snapper\/","title":{"rendered":"Compare those hard-to-reach servers with SQL Snapper"},"content":{"rendered":"<p>If you&#8217;ve got an environment which is at the end of an unreliable or slow network connection, or isn&#8217;t connected to your network at all, and you want to do a deployment to that environment &#8211; then pointing SQL Compare at it directly is difficult or impossible.<\/p>\n<p>While you could run SQL Compare locally on that environment, if it&#8217;s a server &#8211; especially if it&#8217;s a locked-down server &#8211; you probably don&#8217;t want to go through the hassle of using another activation on it. Or possibly you&#8217;re not allowed to install software at all, because you don&#8217;t have admin rights &#8211; but you can run user-mode software.<\/p>\n<p>SQL Snapper is a standalone, licensing-free program which takes SQL Compare snapshots of a database. It can create a snapshot within the context of that environment which can then be moved to your working environment to run SQL Compare against, allowing you to create a deployment script for environments you can&#8217;t get SQL Compare into.<\/p>\n<p><strong>Where can I find it?<\/strong><\/p>\n<p>You can find RedGate.SQLSnapper.exe in your SQL Compare installation directory &#8211; if you haven&#8217;t changed it, that will be something like C:\\Program Files (x86)\\Red Gate\\SQL Compare 10 (or 11 if you&#8217;re using our SQL Server 2014 support beta).<\/p>\n<p>As well as copying the executable, you&#8217;ll also currently need to copy the System.Threading.dll and RedGate.SOCCompareInterface.dll files from the same directory alongside it.<\/p>\n<p><strong>How do I use it?<\/strong><\/p>\n<p>SQL Snapper&#8217;s UI is just a cut-down version of the snapshot creation UI in SQL Compare &#8211; just fill in the boxes and create your snapshot, then bring it back to the place you use SQL Compare to compare against your difficult-to-reach environment.<\/p>\n<p>SQL Snapper also has a command-line mode if you can&#8217;t run the UI in your target environment &#8211; just specify the server, database and output location with the \/server, \/database and \/mksnap arguments, and optionally the username and password if you&#8217;re using SQL security, e.g.:<\/p>\n<p> <code>RedGate.SQLSnapper.exe \/database:yourdatabase \/server:yourservername \/username:youruser \/password:yourpassword \/mksnap:filename.snp<\/code> <\/p>\n<p><strong>What&#8217;s the catch?<\/strong><\/p>\n<p>There are a few limitations of SQL Snapper in its current form &#8211; notably, it can&#8217;t read encrypted objects, and you&#8217;ll also currently need to copy the System.Threading.dll and RedGate.SOCCompareInterface.dll files alongside it, which we recognise is a little awkward in some environments.<\/p>\n<p>If you use SQL Snapper and want to share your experiences, or help us work on improving the experience in future, please comment here or leave a request on the SQL Compare UserVoice at <a href=\"https:\/\/redgate.uservoice.com\/forums\/141379-sql-compare\">https:\/\/redgate.uservoice.com\/forums\/141379-sql-compare<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you&#8217;ve got an environment which is at the end of an unreliable or slow network connection, or isn&#8217;t connected to your network at all, and you want to do a deployment to that environment &#8211; then pointing SQL Compare at it directly is difficult or impossible. While you could run SQL Compare locally on&#8230;&hellip;<\/p>\n","protected":false},"author":133993,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[2],"tags":[],"coauthors":[],"class_list":["post-7195","post","type-post","status-publish","format-standard","hentry","category-blogs"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/7195","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/users\/133993"}],"replies":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/comments?post=7195"}],"version-history":[{"count":4,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/7195\/revisions"}],"predecessor-version":[{"id":25898,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/7195\/revisions\/25898"}],"wp:attachment":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/media?parent=7195"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/categories?post=7195"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/tags?post=7195"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/coauthors?post=7195"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}