{"id":11858,"date":"2021-10-26T00:00:16","date_gmt":"2021-10-26T07:00:16","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=11858"},"modified":"2024-03-01T09:10:09","modified_gmt":"2024-03-01T17:10:09","slug":"your-guide-to-syncing-data-between-couchbase-and-relational-databases-with-gluesync","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/your-guide-to-syncing-data-between-couchbase-and-relational-databases-with-gluesync\/","title":{"rendered":"Your Guide to Syncing Data between Couchbase and Relational Databases with GlueSync"},"content":{"rendered":"\r\n<h2 class=\"wp-block-heading\" id=\"h-introduction\"><span style=\"font-weight: 400\">Introduction<\/span><\/h2>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">Are you modernizing your development process? Are you following a rapid development approach to deliver higher quality and more frequent capabilities to your customers? Part of that process often requires us to work with multiple databases for a transition period when we need both databases available. We need a way to sync the data between the databases, the more seamlessly, the better. Using Couchbase with <a href=\"https:\/\/gluesync.com\/\">GlueSync<\/a><\/span><span style=\"font-weight: 400\"> fits that purpose.\u00a0<\/span><\/p>\r\n\r\n\r\n<hr class=\"wp-block-separator\" \/>\r\n\r\n\r\n<p><em><span style=\"font-weight: 400\">GlueSync allows you to replicate data to and from RDBMS (Microsoft SQL Server and Oracle) in real time with Couchbase.<\/span><\/em><\/p>\r\n\r\n\r\n<hr class=\"wp-block-separator\" \/>\r\n\r\n\r\n<p><span style=\"font-weight: 400\">We\u2019ll use Docker in this post as we go through the steps to setup and configure Couchbase, Microsoft SQL Server, and GlueSync, demonstrating the syncing of data between the two.<\/span><\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"h-before-we-get-started\"><span style=\"font-weight: 400\">Before We Get Started<\/span><\/h2>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"h-docker\"><span style=\"font-weight: 400\">Docker<\/span><\/h3>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">First, this tutorial uses Docker and if you don\u2019t have Docker, you can find more information here <\/span><a href=\"https:\/\/www.docker.com\/\"><span style=\"font-weight: 400\">https:\/\/www.docker.com\/<\/span><\/a><span style=\"font-weight: 400\">. You\u2019ll need to install Docker to complete the steps below.<\/span><\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"h-gluesync\"><span style=\"font-weight: 400\">GlueSync<\/span><\/h3>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">Next, GlueSync requires a license. To complete this tutorial, you\u2019ll need a license from the GlueSync team. You can go to <\/span><a href=\"https:\/\/gluesync.com\/plans\/\"><span style=\"font-weight: 400\">https:\/\/gluesync.com\/plans\/<\/span><\/a><span style=\"font-weight: 400\"> and view more info on their plans and <\/span><a href=\"https:\/\/gluesync.com\/contact-sales\/\"><span style=\"font-weight: 400\">https:\/\/gluesync.com\/contact-sales\/<\/span><\/a><span style=\"font-weight: 400\"> to contact the GlueSync team.<\/span><\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"h-high-level-steps\"><span style=\"font-weight: 400\">High-level Steps<\/span><\/h2>\r\n\r\n\r\n\r\n<ol class=\"wp-block-list\">\r\n<li><a href=\"#h-run-couchbase-and-mssql\"><span style=\"font-weight: 400\">Run and Configure Couchbase and MSSQL<\/span><\/a><\/li>\r\n<li><span style=\"font-weight: 400\"><a href=\"#h-configure-and-run-gluesync-for-couchbase-to-mssql\">Create the configuration file for GlueSync<\/a><\/span><\/li>\r\n<li><a href=\"#h-configure-and-run-gluesync-for-couchbase-to-mssql\"><span style=\"font-weight: 400\">Configure and Run GlueSync for Couchbase to MSSQL<\/span><\/a><\/li>\r\n<li><span style=\"font-weight: 400\"><a href=\"#h-watch-the-magic\">Watch the magic<\/a><\/span><\/li>\r\n<\/ol>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"h-run-couchbase-and-mssql\"><span style=\"font-weight: 400\">Run Couchbase and MSSQL<\/span><\/h2>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"h-couchbase\"><span style=\"font-weight: 400\">Couchbase<\/span><\/h3>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">We\u2019ll use Couchbase 6.6.3 for this tutorial. The following Docker command will get Couchbase up and running, exposing the ports we need.<\/span><\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">docker run -d --name cb-663 -p 8091-8096:8091-8096 -p 11210-11211:11210-11211 couchbase:enterprise-6.6.3<\/pre>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"h-mssql\"><span style=\"font-weight: 400\">MSSQL<\/span><\/h3>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">For the MSSQL Docker run command, notice we\u2019re including the SA password. Update that and make a note of it, we\u2019ll use it later.<\/span><\/p>\r\n\r\n\r\n\r\n<pre class=\"wp-block-preformatted\">docker run -d --name mssql -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=RandomMSSQLPass2!' -p 1433:1433 -d mcr.microsoft.com\/mssql\/server:2019-CU10-ubuntu-20.04<\/pre>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"h-verify-containers\"><span style=\"font-weight: 400\">Verify Containers<\/span><\/h3>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">Now you should have two containers running, Couchbase and MSSQL. We&#8217;ll start the GlueSync container after we get these configured.<\/span><\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-11865\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/09\/image23-300x56.png\" alt=\"\" width=\"782\" height=\"146\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image23-300x56.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image23-1024x190.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image23-768x143.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image23-20x4.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image23.png 1269w\" sizes=\"auto, (max-width: 782px) 100vw, 782px\" \/><\/figure>\r\n<p>&nbsp;<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"h-configure-couchbase-and-mssql\"><span style=\"font-weight: 400\">Configure Couchbase with GlueSync and MSSQL<\/span><\/h2>\r\n\r\n\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">We\u2019ll start with Couchbase and do a basic installation.<\/span><\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"h-setup-new-cluster\"><span style=\"font-weight: 400\">Setup New Cluster<\/span><\/h3>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">Running the Docker commands above would have started Couchbase and exposed the ports so you can open<\/span><span style=\"font-weight: 400\"> the Couchbase UI by going to <\/span><a href=\"https:\/\/localhost:8091\/ui\/index.html\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400\">https:\/\/localhost:8091\/ui\/index.html<\/span><\/a><span style=\"font-weight: 400\">.<\/span><\/p>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">We\u2019ll choose <\/span><b>Setup New Cluster<\/b><span style=\"font-weight: 400\"> and set up a cluster of one node (not recommended for production, but works great for dev and doing a tutorial).\u00a0<\/span><\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-11872\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/09\/image30-300x208.png\" alt=\"\" width=\"449\" height=\"311\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image30-300x208.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image30-20x14.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image30.png 545w\" sizes=\"auto, (max-width: 449px) 100vw, 449px\" \/><\/figure>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">Enter the new cluster information and click <\/span><b>Next: Accept Terms<\/b><span style=\"font-weight: 400\">. Make a note of your password, we\u2019ll need it later. We\u2019re using <\/span><b>RandomCBPass2!<\/b><span style=\"font-weight: 400\"> for this instance.<\/span><\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-11890\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/09\/image16-300x210.png\" alt=\"\" width=\"473\" height=\"331\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image16-300x210.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image16-20x14.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image16.png 548w\" sizes=\"auto, (max-width: 473px) 100vw, 473px\" \/><\/figure>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">If you accept the terms and conditions, check that option, and click <\/span><b>Finish With Defaults<\/b><span style=\"font-weight: 400\">.<\/span><\/p>\r\n\r\n\r\n\r\n<p><b>NOTE<\/b><span style=\"font-weight: 400\"> GlueSync works with Couchbase using a couple of Couchbase technologies, Sync Gateway and the Eventing service. We are using the Eventing option in this tutorial. The Eventing feature will be installed with the <\/span><b>Finish With Defaults<\/b><span style=\"font-weight: 400\"> selection below.\u00a0<\/span><\/p>\r\n\r\n\r\n<hr class=\"wp-block-separator\" \/>\r\n\r\n\r\n<p><em><span style=\"font-weight: 400\">Couchbase offers a single install where you can enable all the services or pick and choose to customize to the needs of your project. This tutorial will install all the services for convenience. <a href=\"https:\/\/docs.couchbase.com\/server\/current\/learn\/services-and-indexes\/services\/services.html\">Learn more<\/a> about Couchbase services and multi-dimensional scaling<\/span><span style=\"font-weight: 400\">.\u00a0\u00a0<\/span><\/em><\/p>\r\n\r\n\r\n<hr class=\"wp-block-separator\" \/>\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-11876\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/09\/image2-244x300.png\" alt=\"\" width=\"501\" height=\"616\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image2-244x300.png 244w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image2-300x368.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image2-16x20.png 16w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image2.png 550w\" sizes=\"auto, (max-width: 501px) 100vw, 501px\" \/><\/figure>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">You should be redirected to the Dashboard. We will use data from the sample bucket in this tutorial. To install the data, click <\/span><b>Sample Buckets<\/b><span style=\"font-weight: 400\">.<\/span><\/p>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">If, for some reason, you don\u2019t see the <\/span><b>Sample Bucket<\/b><span style=\"font-weight: 400\"> link on the dashboard, go to <\/span><b>Settings <\/b><span style=\"font-weight: 400\">from the left menu, look near the top right of the UI, and you\u2019ll see a menu item for <\/span><b>Sample Buckets<\/b><span style=\"font-weight: 400\">, as shown below.\u00a0<\/span><\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-11879\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/09\/image5-300x68.png\" alt=\"\" width=\"768\" height=\"174\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image5-300x68.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image5-1024x231.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image5-768x174.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image5-20x5.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image5.png 1270w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/figure>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">Check beer-sample and click <\/span><b>Load Sample Data<\/b><span style=\"font-weight: 400\">.<\/span><\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-11891\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/09\/image17-300x116.png\" alt=\"\" width=\"631\" height=\"244\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image17-300x116.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image17-768x298.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image17-20x8.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image17.png 1003w\" sizes=\"auto, (max-width: 631px) 100vw, 631px\" \/><\/figure>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">Give it a few minutes to load, then click <\/span><b>Buckets<\/b><span style=\"font-weight: 400\"> in the navigation on the left.<\/span><\/p>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">\u00a0<\/span><span style=\"font-weight: 400\">You should see the beer-sample bucket we just loaded.<\/span><\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-11875\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/09\/image1-300x81.png\" alt=\"\" width=\"719\" height=\"194\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image1-300x81.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image1-1024x275.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image1-768x206.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image1-20x5.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image1.png 1274w\" sizes=\"auto, (max-width: 719px) 100vw, 719px\" \/><\/figure>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">Let&#8217;s view the documents. Click the <\/span><b>Documents<\/b><span style=\"font-weight: 400\"> link on the right, next to <\/span><b>Statistics<\/b><span style=\"font-weight: 400\">.<\/span><\/p>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">We&#8217;re going to sync documents of type beer. You can put a filter (type=&#8221;beer&#8221;) in the N1QL WHERE box and click <\/span><b>Retrieve Docs<\/b><span style=\"font-weight: 400\"> to get those documents; it&#8217;ll be a little easier to see and test this way.<\/span><\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-11873\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/09\/image31-300x89.png\" alt=\"\" width=\"735\" height=\"218\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image31-300x89.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image31-1024x303.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image31-768x228.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image31-20x6.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image31-1320x391.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image31.png 1495w\" sizes=\"auto, (max-width: 735px) 100vw, 735px\" \/><\/figure>\r\n<p>&nbsp;<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"h-create-couchbase-user\">Create Couchbase User<\/h3>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">We\u2019ll create a user for the GlueSync application to use. This is for tutorial purposes and you should follow your security practices when managing your users in conjunction with Couchbase and GlueSync requirements.<\/span><\/p>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">Go to the <\/span><b>Security<\/b><span style=\"font-weight: 400\"> link on the left then click <\/span><b>ADD USER<\/b><span style=\"font-weight: 400\"> in the top right.<\/span><\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-11893\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/09\/image19-300x79.png\" alt=\"\" width=\"722\" height=\"190\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image19-300x79.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image19-1024x269.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image19-768x202.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image19-20x5.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image19-1320x347.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image19.png 1500w\" sizes=\"auto, (max-width: 722px) 100vw, 722px\" \/><\/figure>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">Fill out the user information, as shown below. We\u2019re using the Username of <\/span><b>cb-user<\/b><span style=\"font-weight: 400\"> and Password <\/span><b>RandomCBPass2!<\/b><span style=\"font-weight: 400\">; keep this info for later. Make sure you check <\/span><b>Full Admin<\/b><span style=\"font-weight: 400\"> under the roles. Once it\u2019s filled out, click the <\/span><b>Add User<\/b><span style=\"font-weight: 400\"> button.<\/span><\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-11887\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/09\/image13-300x258.png\" alt=\"\" width=\"547\" height=\"470\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image13-300x258.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image13-20x17.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image13.png 642w\" sizes=\"auto, (max-width: 547px) 100vw, 547px\" \/><\/figure>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">You should see the user we just created.<\/span><\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-11889\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/09\/image15-300x59.png\" alt=\"\" width=\"915\" height=\"180\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image15-300x59.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image15-1024x200.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image15-768x150.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image15-20x4.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image15-1320x258.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image15.png 1495w\" sizes=\"auto, (max-width: 915px) 100vw, 915px\" \/><\/figure>\r\n<p>&nbsp;<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"h-add-a-gluesync-metadata-bucket\"><span style=\"font-weight: 400\">Add a GlueSync Metadata bucket<\/span><\/h3>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">GlueSync uses Couchbase\u2019s Eventing service. Eventing requires a Metadata bucket, and we\u2019ll create one now. <a href=\"https:\/\/gluesync.com\/docs\/gluesync\/v1.2.0\/couchbase-server\/bucket-requirements.html#metadata-bucket\">Get more info<\/a> on GlueSync and the Metadata bucket.<\/span><\/p>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">Go to <\/span><b>Buckets <\/b><span style=\"font-weight: 400\">on the left menu and click <\/span><b>ADD BUCKET<\/b><span style=\"font-weight: 400\"> in the top right.<\/span><\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-11863\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/09\/image21-300x78.png\" alt=\"\" width=\"846\" height=\"220\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image21-300x78.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image21-1024x268.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image21-768x201.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image21-20x5.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image21-1320x345.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image21.png 1488w\" sizes=\"auto, (max-width: 846px) 100vw, 846px\" \/><\/figure>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">Enter the Metadata Name and click <\/span><b>Add Bucket<\/b><span style=\"font-weight: 400\">. We\u2019ll use the defaults for the other options.<\/span><\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-11878\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/09\/image4-300x257.png\" alt=\"\" width=\"604\" height=\"517\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image4-300x257.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image4-20x17.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image4.png 542w\" sizes=\"auto, (max-width: 604px) 100vw, 604px\" \/><\/figure>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">You should see two buckets now.<\/span><\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-11885\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/09\/image11-300x87.png\" alt=\"\" width=\"828\" height=\"240\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image11-300x87.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image11-768x222.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image11-20x6.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image11.png 808w\" sizes=\"auto, (max-width: 828px) 100vw, 828px\" \/><\/figure>\r\n<p>&nbsp;<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"h-mssql-1\"><span style=\"font-weight: 400\">MSSQL<\/span><\/h2>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">We\u2019ll use SQL Server Management Studio to configure MSSQL, which was installed in the step above. If you need to install the management studio, you can <a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/ssms\/download-sql-server-management-studio-ssms?view=sql-server-ver15\">find it here<\/a>.<\/span><b>\u00a0<\/b><\/p>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">Login with the credentials passed to the Docker command from the earlier step, in this case, Login: <\/span><b>sa<\/b><span style=\"font-weight: 400\"> and Password: <\/span><b>RandomMSSQLPass2!<\/b><span style=\"font-weight: 400\">.<\/span><\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-11886\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/09\/image12-300x201.png\" alt=\"\" width=\"603\" height=\"404\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image12-300x201.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image12-400x267.png 400w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image12-450x300.png 450w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image12-20x13.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image12.png 498w\" sizes=\"auto, (max-width: 603px) 100vw, 603px\" \/><\/figure>\r\n<p>&nbsp;<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"h-create-new-database\"><span style=\"font-weight: 400\">Create New Database<\/span><\/h3>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">We\u2019ll create a new database where the data from Couchbase will be loaded.<\/span><\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-11870\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/09\/image28-279x300.png\" alt=\"\" width=\"459\" height=\"493\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image28-279x300.png 279w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image28-300x322.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image28-20x20.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image28.png 324w\" sizes=\"auto, (max-width: 459px) 100vw, 459px\" \/><\/figure>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">In this case, since I\u2019m very creative, I\u2019ll use <\/span><b>cb<\/b><span style=\"font-weight: 400\">, and choose Ok.<\/span><\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-11871\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/09\/image29-300x113.png\" alt=\"\" width=\"685\" height=\"258\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image29-300x113.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image29-20x8.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image29.png 693w\" sizes=\"auto, (max-width: 685px) 100vw, 685px\" \/><\/figure>\r\n<p>&nbsp;<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"h-create-login\"><span style=\"font-weight: 400\">Create Login<\/span><\/h3>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">Next, create a MSSQL Login. Right-click the Login folder and choose <\/span><b>New Login\u2026<\/b><span style=\"font-weight: 400\">.<\/span><\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-11864\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/09\/image22-300x243.png\" alt=\"\" width=\"531\" height=\"430\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image22-300x243.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image22-20x16.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image22.png 349w\" sizes=\"auto, (max-width: 531px) 100vw, 531px\" \/><\/figure>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">The Login name we\u2019re using is <\/span><b>mssql-user <\/b><span style=\"font-weight: 400\">and Password is <\/span><b>RandomMSSQLUserPass2!<\/b><span style=\"font-weight: 400\">.<\/span><\/p>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">Set Default database to <\/span><b>cb<\/b><span style=\"font-weight: 400\">, the database created above.<\/span><\/p>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">You should follow your security standards when creating users. The instructions in this article\u00a0 are for tutorial purposes only and some options I\u2019m picking are for simplicity. <\/span><\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-11867\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/09\/image25-300x284.png\" alt=\"\" width=\"627\" height=\"594\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image25-300x284.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image25-20x20.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image25.png 696w\" sizes=\"auto, (max-width: 627px) 100vw, 627px\" \/><\/figure>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">Go to <\/span><b>User Mapping<\/b><span style=\"font-weight: 400\">, on the left under <\/span><b>Select a page<\/b><span style=\"font-weight: 400\">, and select <\/span><b>cb <\/b><span style=\"font-weight: 400\">under <\/span><b>Users mapped to this login<\/b><span style=\"font-weight: 400\"> and <\/span><b>db_owner<\/b><span style=\"font-weight: 400\"> under the <\/span><b>Database role membership<\/b><span style=\"font-weight: 400\">.<\/span><\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-11862\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/09\/image20-300x284.png\" alt=\"\" width=\"631\" height=\"597\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image20-300x284.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image20-20x20.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image20.png 693w\" sizes=\"auto, (max-width: 631px) 100vw, 631px\" \/><\/figure>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">Now that we\u2019ve got that setup, verify you can login with the user. Log out of sa and log back in with the new user.<\/span><\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"h-create-table\"><span style=\"font-weight: 400\">Create Table<\/span><\/h3>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">Let\u2019s create a table for the data to be synced to, from Couchbase. Go to the <\/span><b>Databases<\/b><span style=\"font-weight: 400\">, then <\/span><b>cb<\/b><span style=\"font-weight: 400\">, then open a <\/span><b>New Query<\/b><span style=\"font-weight: 400\"> window. The table fields in this table match the attributes in the Couchbase beer-samples document. The SQL to create the table is below.<\/span><\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-11874\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/09\/image32-300x140.png\" alt=\"\" width=\"891\" height=\"416\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image32-300x140.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image32-768x358.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image32-20x9.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image32.png 985w\" sizes=\"auto, (max-width: 891px) 100vw, 891px\" \/><\/figure>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">Run the create table statement.<\/span><span style=\"font-weight: 400\">\u00a0<\/span><\/p>\r\n\r\n\r\n\r\n<div>\r\n<pre>create\u00a0table\u00a0beer\r\n(\r\n \u00a0\u00a0\u00a0name\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0varchar(200)\u00a0\u00a0not\u00a0null\u00a0constraint\u00a0beer_pk\u00a0primary\u00a0key\u00a0nonclustered,\r\n \u00a0\u00a0\u00a0abv\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0numeric(5,\u00a02)\u00a0not\u00a0null,\r\n \u00a0\u00a0\u00a0brewery_id\u00a0\u00a0varchar(max)\u00a0\u00a0not\u00a0null,\r\n \u00a0\u00a0\u00a0category\u00a0\u00a0\u00a0\u00a0varchar(max),\r\n \u00a0\u00a0\u00a0description\u00a0varchar(max)\u00a0\u00a0not\u00a0null,\r\n \u00a0\u00a0\u00a0ibu\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0int\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0not\u00a0null,\r\n \u00a0\u00a0\u00a0srm\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0int\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0not\u00a0null,\r\n \u00a0\u00a0\u00a0style\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0varchar(max),\r\n \u00a0\u00a0\u00a0upc\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0int\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0not\u00a0null,\r\n \u00a0\u00a0\u00a0updated\u00a0\u00a0\u00a0\u00a0\u00a0varchar(max)\u00a0\u00a0not\u00a0null\r\n)\r\ngo<\/pre>\r\n<\/div>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"h-configure-and-run-gluesync-for-couchbase-to-mssql\"><span style=\"font-weight: 400\">Configure and Run GlueSync for Couchbase to MSSQL<\/span><\/h2>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">GlueSync has two components, one for Couchbase to MSSQL, and another for MSSQL to Couchbase. This will set up the application to sync data from Couchbase to MSSQL. Setting up the other direction is a very similar setup.\u00a0 \u00a0<\/span><\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"h-make-config-folder\"><span style=\"font-weight: 400\">Make config folder<\/span><\/h3>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">Make a folder for the GlueSync configuration file. We&#8217;ll share this with the Docker container when starting it.<\/span><\/p>\r\n\r\n\r\n\r\n<div>\r\n<pre>mkdir\u00a0c:\\a\\gluesync\\config<\/pre>\r\n<div>\u00a0<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"h-get-docker-network-ip-addresses-for-couchbase-and-mssql\"><span style=\"font-weight: 400\">Get Docker network IP addresses for Couchbase and MSSQL<\/span><\/h3>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">We need the Docker network information for the Couchbase and MSSQL containers to configure GlueSync.<\/span><\/p>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">Get the container IDs.<\/span><\/p>\r\n\r\n\r\n\r\n<div>\r\n<pre>C:\\Users\\David\u00a0Elliott&gt;\u00a0docker\u00a0container\u00a0ls\u00a0-a\r\nCONTAINER ID\u00a0\u00a0\u00a0IMAGE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0COMMAND\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0CREATED\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0STATUS\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0PORTS\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0NAMES\r\n10b985792024\u00a0\u00a0\u00a0mcr.microsoft.com\/mssql\/server:2019-CU10-ubuntu-20.04\u00a0\u00a0\u00a0\"\/opt\/mssql\/bin\/perm\u2026\"\u00a0\u00a0\u00a034 minutes ago\u00a0\u00a0\u00a0Up 34 minutes\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a00.0.0.0:1433-&gt;1433\/tcp, :::1433-&gt;1433\/tcp\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0mssql\r\nd2df1bad1647\u00a0\u00a0\u00a0couchbase:enterprise-6.6.3\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"\/entrypoint.sh couc\u2026\"\u00a0\u00a0\u00a040 minutes ago\u00a0\u00a0\u00a0Up 40 minutes\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a00.0.0.0:8091-8096-&gt;8091-8096\/tcp, :::8091-8096-&gt;8091-8096\/tcp, 11207\/tcp, 0.0.0.0:11210-11211-&gt;11210-11211\/tcp, :::11210-11211-&gt;11210-11211\/tcp, 18091-18096\/tcp\u00a0\u00a0\u00a0cb-663<\/pre>\r\n<\/div>\r\n\r\n\r\n\r\n<div>\r\n<p>Now, get the IP addresses for the containers using those IDs by using the Docker Inspect command on Couchbase.<\/p>\r\n<\/div>\r\n\r\n\r\n\r\n<div>\r\n<pre>C:\\Users\\David\u00a0Elliott&gt;\u00a0docker\u00a0inspect\u00a0d2df1bad1647\u00a0|\u00a0Select-String\u00a0IPAddress\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"SecondaryIPAddresses\":\u00a0null,\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"IPAddress\":\u00a0\"172.17.0.2\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"IPAddress\": \"172.17.0.2\",<\/pre>\r\n<p><span style=\"font-weight: 400\">Run the Docker Inspect command on MSSQL.<\/span><\/p>\r\n<\/div>\r\n\r\n\r\n\r\n<div>\r\n<div>\r\n<pre>C:\\Users\\David\u00a0Elliott&gt;\u00a0docker\u00a0inspect\u00a010b985792024\u00a0|\u00a0Select-String\u00a0IPAddress\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"SecondaryIPAddresses\":\u00a0null,\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"IPAddress\":\u00a0\"172.17.0.3\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"IPAddress\":\u00a0\"172.17.0.3\",<\/pre>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">The IP addresses are:<\/span><\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Couchbase &#8211; 172.17.0.2<\/span><\/li>\r\n<li><span style=\"font-weight: 400\">MSSQL &#8211; 172.17.0.3<\/span><\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p>NOTE: If you stop and restart the containers, the IP address can change and you&#8217;ll need to verify the config is still correct.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\" id=\"h-create-the-gluesync-configuration-file\"><span style=\"font-weight: 400\">Create the GlueSync configuration file<\/span><\/h3>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">Update the information below with your specific info and save it to the config.json file in the folder you created above, i.e. c:\\a\\gluesync\\config\\config.json<\/span><\/p>\r\n\r\n\r\n\r\n<div>\r\n<pre>{\r\n \u00a0\"sourceHost\":\u00a0\"172.17.0.2\",\r\n \u00a0\"sourcePort\":\u00a0\"8091\",\r\n \u00a0\"sourceName\":\u00a0\"beer-sample\",\r\n \u00a0\"sourceUsername\":\u00a0\"cb-user\",\r\n \u00a0\"sourcePassword\":\u00a0\"RandomCBPass2!\",\r\n \u00a0\"sourceEntities\":\u00a0{\r\n \u00a0\u00a0\u00a0\"beer\":\u00a0{}\r\n \u00a0},\r\n \u00a0\"sourceChangeRetention\":\u00a05,\r\n \u00a0\"copySourceEntitiesAtStartup\":\u00a0true,\r\n \u00a0\"targetHost\":\u00a0\"172.17.0.3\",\r\n \u00a0\"targetPort\":\u00a0\"1433\",\r\n \u00a0\"targetName\":\u00a0\"cb\",\r\n \u00a0\"targetUsername\":\u00a0\"mssql-user\",\r\n \u00a0\"targetPassword\":\u00a0\"RandomMSSQLUserPass2!\",\r\n \u00a0\"maxItemsCountPerTransaction\":\u00a0100,\r\n \u00a0\"maxTransactionCountPerIteration\":\u00a0100,\r\n \u00a0\"couchbase\":\u00a0{\r\n \u00a0\u00a0\u00a0\"timeoutSeconds\":\u00a060,\r\n \u00a0\u00a0\u00a0\"indexReplicaCount\":\u00a00,\r\n \u00a0\u00a0\u00a0\"eventing\":\u00a0{\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\"baseUrl\":\u00a0\"https:\/\/172.17.0.2\",\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\"metadataBucketName\":\u00a0\"Metadata\"\r\n \u00a0\u00a0\u00a0}\r\n \u00a0}\r\n}<\/pre>\r\n<\/div>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"h-get-gluesync-credentials-to-pull-gluesync-image-from-docker\"><span style=\"font-weight: 400\">Get GlueSync credentials to pull GlueSync image from Docker<\/span><\/h2>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">Check out the Before We Get Started section above for GlueSync license info for the Docker registry and downloading the product.\u00a0<\/span><\/p>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">Once you have that info, follow the steps below to install GlueSync.<\/span><\/p>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">Since you may already have credentials stored, you may want to logout. If you run into credential issues, this may be the reason.<\/span><\/p>\r\n\r\n\r\n\r\n<div>\r\n<pre>C:\\Users\\David\u00a0Elliott&gt;\u00a0docker\u00a0logout\u00a0registry.gitlab.com\r\nRemoving login credentials for registry.gitlab.com<\/pre>\r\n<p><span style=\"font-weight: 400\">Login to the registry &#8211; this may be a different registry than you typically use, so double-check that value.<\/span><\/p>\r\n<\/div>\r\n\r\n\r\n\r\n<div>\u00a0<\/div>\r\n\r\n\r\n\r\n<div>\r\n<div>\r\n<pre>C:\\Users\\David\u00a0Elliott&gt;\u00a0docker\u00a0login\u00a0registry.gitlab.com\r\nUsername: xxxusernamexxx\r\nPassword:\r\nLogin Succeeded<\/pre>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">Pull the image.<\/span><\/p>\r\n\r\n\r\n\r\n<div>\r\n<pre>C:\\Users\\David\u00a0Elliott&gt;\u00a0docker\u00a0pull\u00a0registry.gitlab.com\/molo17srl\/products\/gluesync\/nosql-to-sql-kotlin\/couchbase-to-mssql:latest\r\nlatest: Pulling from molo17srl\/products\/gluesync\/nosql-to-sql-kotlin\/couchbase-to-mssql\r\nDigest: sha256:55e476fa05853c9dc5dfc1263cd5d2a5d3e1ea98f69b4d15d8edb83b91dcb142\r\nStatus: Downloaded newer image for registry.gitlab.com\/molo17srl\/products\/gluesync\/nosql-to-sql-kotlin\/couchbase-to-mssql:latest\r\nregistry.gitlab.com\/molo17srl\/products\/gluesync\/nosql-to-sql-kotlin\/couchbase-to-mssql:latest\r\nC:\\Users\\David Elliott&gt;<\/pre>\r\n<p><span style=\"font-weight: 400\">You may want to logout again (I\u2019ve been tripped up when I didn\u2019t log out and get errors next time I run a command).<\/span><\/p>\r\n<\/div>\r\n\r\n\r\n\r\n<div>\u00a0<\/div>\r\n\r\n\r\n\r\n<div>\r\n<div>\r\n<pre>C:\\Users\\David\u00a0Elliott&gt;\u00a0docker\u00a0logout\u00a0registry.gitlab.com\r\nRemoving login credentials for registry.gitlab.com<\/pre>\r\n<p><span style=\"font-weight: 400\">Start the GlueSync Container\/Application<\/span><\/p>\r\n<\/div>\r\n<\/div>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">Update the path to the config file in the Docker command below to match the path on your computer.<\/span><\/p>\r\n\r\n\r\n\r\n<div>\r\n<pre>docker\u00a0run\u00a0-d\u00a0--name\u00a0gluesync-cb-to-mssql\u00a0-v\u00a0c:\/a\/gluesync\/config:\/opt\/app\/config\u00a0registry.gitlab.com\/molo17srl\/products\/gluesync\/nosql-to-sql-kotlin\/couchbase-to-mssql:1.2.3<\/pre>\r\n<\/div>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">You should have three containers running in Docker.<\/span><\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-11888\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/09\/image14-300x70.png\" alt=\"\" width=\"926\" height=\"216\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image14-300x70.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image14-1024x239.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image14-768x179.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image14-20x5.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image14.png 1269w\" sizes=\"auto, (max-width: 926px) 100vw, 926px\" \/><\/figure>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">If it\u2019s not running, check the container logs for messages. I\u2019ve inadvertently put the config file into the wrong folder and GlueSync didn\u2019t start; the logs let me know what was going on.<\/span><\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"h-watch-the-magic\"><span style=\"font-weight: 400\">Watch the Magic<\/span><\/h2>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">Go to the MSSQL and query the table, you should see the data from the Couchbase bucket in the table we created. Once GlueSync started, it synced the data from Couchbase to MSSQL.<\/span><\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-11866\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/09\/image24-300x107.png\" alt=\"\" width=\"922\" height=\"329\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image24-300x107.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image24-1024x364.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image24-768x273.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image24-1536x546.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image24-20x7.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image24-1320x469.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image24.png 1615w\" sizes=\"auto, (max-width: 922px) 100vw, 922px\" \/><\/figure>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">To play around with it, you can modify data and see the changes synced across the databases. Go to the beer-samples documents and make a change. Here, I updated two documents. You can see the Docker output log below the Couchbase UI. GlueSync detected the two changes.<\/span><\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-11869\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/09\/image27-300x200.png\" alt=\"\" width=\"875\" height=\"583\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image27-300x200.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image27-1024x682.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image27-768x512.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image27-400x267.png 400w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image27-450x300.png 450w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image27-20x13.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image27.png 1297w\" sizes=\"auto, (max-width: 875px) 100vw, 875px\" \/><\/figure>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">Switching over to MSSQL, I can see the updates in MSSQL as well.<\/span><\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-11868\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/09\/image26-300x140.png\" alt=\"\" width=\"896\" height=\"418\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image26-300x140.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image26-1024x476.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image26-768x357.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image26-20x9.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/image26.png 1135w\" sizes=\"auto, (max-width: 896px) 100vw, 896px\" \/><\/figure>\r\n<p>&nbsp;<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\" id=\"h-conclusion\"><span style=\"font-weight: 400\">Conclusion<\/span><\/h2>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">We often have to work with multiple databases, particularly when we\u2019re doing a modernization. We may have a phased release or need to get existing data from an older relational database into Couchbase. This could involve custom code and testing or considering a product like GlueSync which makes the process more seamless.\u00a0<\/span><\/p>\r\n\r\n\r\n\r\n<p><span style=\"font-weight: 400\">Checkout <a href=\"https:\/\/gluesync.com\/\">GlueSync <\/a><\/span><span style=\"font-weight: 400\">for more information on their products and capabilities. <\/span><\/p>\r\n","protected":false},"excerpt":{"rendered":"<p>Introduction Are you modernizing your development process? Are you following a rapid development approach to deliver higher quality and more frequent capabilities to your customers? Part of that process often requires us to work with multiple databases for a transition [&hellip;]<\/p>\n","protected":false},"author":76330,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1814,2242,1816,6319,2389],"tags":[],"ppma_author":[9391],"class_list":["post-11858","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-application-design","category-connectors","category-couchbase-server","category-customers","category-solutions"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Sync Data Between Couchbase and Relational Databases<\/title>\n<meta name=\"description\" content=\"Go through the steps of how-to setup and configure Couchbase, Microsoft SQL Server, and GlueSync, demonstrating the syncing of data between the two.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/your-guide-to-syncing-data-between-couchbase-and-relational-databases-with-gluesync\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Your Guide to Syncing Data between Couchbase and Relational Databases with GlueSync\" \/>\n<meta property=\"og:description\" content=\"Go through the steps of how-to setup and configure Couchbase, Microsoft SQL Server, and GlueSync, demonstrating the syncing of data between the two.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/your-guide-to-syncing-data-between-couchbase-and-relational-databases-with-gluesync\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2021-10-26T07:00:16+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-01T17:10:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/09\/image23-300x56.png\" \/>\n<meta name=\"author\" content=\"David Elliott, Solutions Engineer\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"David Elliott, Solutions Engineer\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/your-guide-to-syncing-data-between-couchbase-and-relational-databases-with-gluesync\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/your-guide-to-syncing-data-between-couchbase-and-relational-databases-with-gluesync\\\/\"},\"author\":{\"name\":\"David Elliott, Solutions Engineer, Couchbase\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/person\\\/83d6351038e224227bff7d6385cfc87c\"},\"headline\":\"Your Guide to Syncing Data between Couchbase and Relational Databases with GlueSync\",\"datePublished\":\"2021-10-26T07:00:16+00:00\",\"dateModified\":\"2024-03-01T17:10:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/your-guide-to-syncing-data-between-couchbase-and-relational-databases-with-gluesync\\\/\"},\"wordCount\":1637,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/your-guide-to-syncing-data-between-couchbase-and-relational-databases-with-gluesync\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2022\\\/11\\\/couchbase-nosql-dbaas.png\",\"articleSection\":[\"Application Design\",\"Connectors\",\"Couchbase Server\",\"Customers\",\"Solutions\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/your-guide-to-syncing-data-between-couchbase-and-relational-databases-with-gluesync\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/your-guide-to-syncing-data-between-couchbase-and-relational-databases-with-gluesync\\\/\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/your-guide-to-syncing-data-between-couchbase-and-relational-databases-with-gluesync\\\/\",\"name\":\"Sync Data Between Couchbase and Relational Databases\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/your-guide-to-syncing-data-between-couchbase-and-relational-databases-with-gluesync\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/your-guide-to-syncing-data-between-couchbase-and-relational-databases-with-gluesync\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2022\\\/11\\\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2021-10-26T07:00:16+00:00\",\"dateModified\":\"2024-03-01T17:10:09+00:00\",\"description\":\"Go through the steps of how-to setup and configure Couchbase, Microsoft SQL Server, and GlueSync, demonstrating the syncing of data between the two.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/your-guide-to-syncing-data-between-couchbase-and-relational-databases-with-gluesync\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/your-guide-to-syncing-data-between-couchbase-and-relational-databases-with-gluesync\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/your-guide-to-syncing-data-between-couchbase-and-relational-databases-with-gluesync\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2022\\\/11\\\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2022\\\/11\\\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/your-guide-to-syncing-data-between-couchbase-and-relational-databases-with-gluesync\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Your Guide to Syncing Data between Couchbase and Relational Databases with GlueSync\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/admin-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/person\\\/83d6351038e224227bff7d6385cfc87c\",\"name\":\"David Elliott, Solutions Engineer, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2021\\\/09\\\/david-elliott-couchbase.jpeg56b47f3906eb1da4c4bab7db411e5f42\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2021\\\/09\\\/david-elliott-couchbase.jpeg\",\"contentUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2021\\\/09\\\/david-elliott-couchbase.jpeg\",\"caption\":\"David Elliott, Solutions Engineer, Couchbase\"},\"description\":\"Solutions Engineer at Couchbase, jack of all trades, master of some.\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/author\\\/david-elliott\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Sync Data Between Couchbase and Relational Databases","description":"Go through the steps of how-to setup and configure Couchbase, Microsoft SQL Server, and GlueSync, demonstrating the syncing of data between the two.","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:\/\/www.couchbase.com\/blog\/your-guide-to-syncing-data-between-couchbase-and-relational-databases-with-gluesync\/","og_locale":"en_US","og_type":"article","og_title":"Your Guide to Syncing Data between Couchbase and Relational Databases with GlueSync","og_description":"Go through the steps of how-to setup and configure Couchbase, Microsoft SQL Server, and GlueSync, demonstrating the syncing of data between the two.","og_url":"https:\/\/www.couchbase.com\/blog\/your-guide-to-syncing-data-between-couchbase-and-relational-databases-with-gluesync\/","og_site_name":"The Couchbase Blog","article_published_time":"2021-10-26T07:00:16+00:00","article_modified_time":"2024-03-01T17:10:09+00:00","og_image":[{"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2021\/09\/image23-300x56.png","type":"","width":"","height":""}],"author":"David Elliott, Solutions Engineer","twitter_card":"summary_large_image","twitter_misc":{"Written by":"David Elliott, Solutions Engineer","Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/your-guide-to-syncing-data-between-couchbase-and-relational-databases-with-gluesync\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/your-guide-to-syncing-data-between-couchbase-and-relational-databases-with-gluesync\/"},"author":{"name":"David Elliott, Solutions Engineer, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/83d6351038e224227bff7d6385cfc87c"},"headline":"Your Guide to Syncing Data between Couchbase and Relational Databases with GlueSync","datePublished":"2021-10-26T07:00:16+00:00","dateModified":"2024-03-01T17:10:09+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/your-guide-to-syncing-data-between-couchbase-and-relational-databases-with-gluesync\/"},"wordCount":1637,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/your-guide-to-syncing-data-between-couchbase-and-relational-databases-with-gluesync\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":["Application Design","Connectors","Couchbase Server","Customers","Solutions"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/your-guide-to-syncing-data-between-couchbase-and-relational-databases-with-gluesync\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/your-guide-to-syncing-data-between-couchbase-and-relational-databases-with-gluesync\/","url":"https:\/\/www.couchbase.com\/blog\/your-guide-to-syncing-data-between-couchbase-and-relational-databases-with-gluesync\/","name":"Sync Data Between Couchbase and Relational Databases","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/your-guide-to-syncing-data-between-couchbase-and-relational-databases-with-gluesync\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/your-guide-to-syncing-data-between-couchbase-and-relational-databases-with-gluesync\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2021-10-26T07:00:16+00:00","dateModified":"2024-03-01T17:10:09+00:00","description":"Go through the steps of how-to setup and configure Couchbase, Microsoft SQL Server, and GlueSync, demonstrating the syncing of data between the two.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/your-guide-to-syncing-data-between-couchbase-and-relational-databases-with-gluesync\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/your-guide-to-syncing-data-between-couchbase-and-relational-databases-with-gluesync\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/your-guide-to-syncing-data-between-couchbase-and-relational-databases-with-gluesync\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/your-guide-to-syncing-data-between-couchbase-and-relational-databases-with-gluesync\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Your Guide to Syncing Data between Couchbase and Relational Databases with GlueSync"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"The Couchbase Blog","description":"Couchbase, the NoSQL Database","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"The Couchbase Blog","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/83d6351038e224227bff7d6385cfc87c","name":"David Elliott, Solutions Engineer, Couchbase","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/david-elliott-couchbase.jpeg56b47f3906eb1da4c4bab7db411e5f42","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/david-elliott-couchbase.jpeg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/david-elliott-couchbase.jpeg","caption":"David Elliott, Solutions Engineer, Couchbase"},"description":"Solutions Engineer at Couchbase, jack of all trades, master of some.","url":"https:\/\/www.couchbase.com\/blog\/author\/david-elliott\/"}]}},"acf":[],"authors":[{"term_id":9391,"user_id":76330,"is_guest":0,"slug":"david-elliott","display_name":"David Elliott, Solutions Engineer","avatar_url":{"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/david-elliott-couchbase.jpeg","url2x":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2021\/09\/david-elliott-couchbase.jpeg"},"0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/11858","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/users\/76330"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/comments?post=11858"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/11858\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media?parent=11858"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/categories?post=11858"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/tags?post=11858"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=11858"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}