MS Synch Framework - Synch 2 branches to central branch - visual-studio-2010

I'm trying to create a Synch Module using MS Synch Framework wherein records from 2 branches will be synched into a central branch database. I wanted to achieve this with MS Sql Server 2008 R2. I can't seem to figure out the Synch Framework components I need for this project. Our goal is to be able to synch the records over the cloud.

if you look at the documentation, there is a walkthrough on how to do it.
see: Tutorial: Synchronizing SQL Server and SQL Express
don't mind that it says SQL Express, the walkthrough will work with SQL Express, LocalDB, SQL Server and Azure SQL Database as they all use the same SqlSyncProvider.
if the central database is an Azure SQL Database, have a look at these as well: How to: Configure and Execute Synchronization with SQL Azure and Walkthrough of Windows Azure Sync Service Sample

Related

Unable to connect to Oracle using SSMA for Oracle

I'm trying use Microsoft SSMA for Oracle to migrate a database onto Azure SQL, but I can't get it going. I've double checked the server name, server port, Oracle SID, password... everything. No matter the type of entry screen I use, I can't get it to connect to the on-premise Oracle instance.
I'm pretty sure the login information is all correct, and I should have a working connector to Oracle since I connect to it from TOAD on a daily basis. I tried installing Oracle libraries per previous posts but not sure if I did it successfully because the issues still remains.
What are the troubleshooting steps I should take in order to make this work?
Log in screen:
      
Error 1:
Unable to find specified provider.
Compatible Oracle Data Access Connectivity libraries were not found on the machine. You can install them from Oracle product media or download it from Oracle web site.
Error 2:
Connection to Oracle failed.
ORA-01017: invalid username/password; logon denied
Error 3:
Connection to Oracle failed.
Network Naming: No LDAP server detected or configured
After a few more days of debugging, I was finally able to get SSMA to work. This answer helps to document my solution for personal use, as well as hopefully answer anyone else's question in the future.
After looking at the list of prerequisites to have SSMA running, I saw that I needed to have a correct Oracle client running. After some internal discussion, it was likely that the Oracle client SSMA needed was different than the one my computer already had for TOAD. The .Net provider for the TOAD connectors was probably not useful for SSMA.
We run Oracle 11g but I had to install Oracle 12c because 11g did not support Windows 10 apparently. Not too much of a roadblock here.
I found this guide to install Oracle client 12c pretty helpful. Shoutout to my alma mater.
Unfortunately the installer kept freezer, but using this former post, I was able to bypass it with the windows command:
setup.exe -ignoreprereq -J"-Doracle.install.client.validate.clientSupportedOSCheck=false"
After that, I saw different error messages when trying to connect SSMA. I kept trying different options with my logins until it worked. Provider: OLEDB Provider, Mode: Standard.
After being granted the appropriate permissions, I was finally able to access our internal tables and objects.
It was a pretty annoying question with a lot of rabbit holes along the way, but it was definitely worth it, being able to translate all our Oracle schemas to Azure SQL with a few clicks. Hope this helps!
Make sure to validate all steps mentioned below before going to install Microsoft SQL Server Migration Assistant for Oracle.
Make sure you have already installed SQL Server instance that will host the migrated database. Also keep in mind that you are not installing SQL Server Express edition to host the migrated database.
You must have sysadmin account to install SQL Server Migration Assistant for Oracle.
Make sure to install SSMA for Oracle on the server that will host newly migrated database on SQL Server.
It is recommended to install Oracle client software on your target system where SQL Server Instance is running.
Make sure your windows server has Microsoft Windows Installer 3.1 or a later version. Port 1434 should be open.
For more details, You can reference: How to Install SSMA for Oracle to Migrate Oracle Database to SQL Server.
Here's the Azure Database Migration Guide: Migrate Oracle to Azure SQL Database. As you prepare for migrating to the cloud, verify that your source environment is supported and that you have addressed any prerequisites. This will help to ensure an efficient and successful migration.
Connect to Oracle with Oracle Client Provider.
Azure also has other way can help you migrate Oracle database to Azure SQL database, such as with Azure Data Factory. If you still has the connect error. I think you can try to use it. Please reference this tutorial: Copy data from and to Oracle by using Azure Data Factory.
Hope this helps.

Need to migrate Oracle transaction data to Azure SQL

There is one scenario where in our target is to migrate oracle database to Azure SQL DB.
Currently I am evaluating multiple options to migrate the existing Oracle Db to the Azure SQL DB, for the same reason I could not decide how to handle this situation where in the source DB i.e. Oracle is having transaction data which is a kind of incremental load.
Should this can be handled with mere replication of DB? or performing some data migration steps would help me ? Here i can think of earlier approach as easier approach where in i need not to worry about the transaction updates happening inside the data.
Considering this which utility i should use to perform this kind of activity?
You can replicate your Oracle database to Azure using Oracle Golden Gate as a way to migrate your Oracle database to Azure SQL. Striim seems to be another good tools to move your database to Azure SQL.
I think you may use the SQL Server Migration Assistant (SSMA) for Oracle.
SQL Server Migration Assistant (SSMA) for Oracle consists of a client application that you use to perform a migration from Oracle to SQL Server and Azure SQL DB. It also contains an extension pack that supports data migration and the use of Oracle system functions in your migrated databases.
SSMA can converts the transaction processing:
For more details, you can see:SQL Server Migration Assistant (SSMA) for Oracle
Hope this helps!

CRM2015 / CRM2016 on the same database server?

At our company we currently have a Dynamics CRM 2015 instance running, which has all its databases located on our central database server. Recently, we started developing a new solution, this time based on Dynamics CRM 2016, and for this version too we want to have its databases located on our central database server.
However, when I try to install this CRM 2016 instance, the CRM 2016 installer reports the following error (which is correct, as the existing database is from our CRM 2015 instance):
The following databases already exist on the specified SQL Server: MSCRM_CONFIG
Is it supported to deploy two different versions of Dynamics CRM on the same database server, and if so, how?
It's not supported to have two CRM installation (even same version) on the same SQL server instance. Also installing CRM on same server but on separate instances might put you in trouble with for example SSRS Report Connector.
I take it that you currently have your SQL server deployed using the default instance? (ie; you reference you SQL server as <machine_name>)
If you're not in a position to create a new SQL server (the main limitation being licensing) one option you can consider would be to deploy an additional named instance on the existing server. You could then point your new CRM deployment at, for example, <machine_name>\CRM2016

From Sql Database to Azure Storage Emulator

I have a Sql database and I have to put it in my Azure Storage Emulator (In Storage > Development > Tables); how can I do it? In Visual Studio I don't find any possibility to import, for example, a .bacpac file.
UPDATE:
I discovered that the database should not be put in there, but then how do I properly simulate Azure storage and my Sql database as well?
Just to clarify: Azure Storage (Tables, Blobs, Queues) is completely different from SQL Azure databases.
If you use the latest version of SQL Express it's very very similar to SQL Azure and fine for most development needs.
There isn't a SQL Azure simulator that I know of - but it's really easy to get a FREE 30 day Azure account and I would strongly suggest you do some development and testing against that: SQL Azure has far more connection issues (no connection, handshake problems, lags) than a database that is local to the app, and you need to be prepared for this (investigate Transient Fault Handling strategies).
You can work locally and connect to your SQL Azure instance = a 'real' SQL Azure simulation.
When developing locally for Azure SQL Database, please use SQL Server Express - it is the relational database equivalent for Azure Storage Emulator (Azure Blob, Queue, and Table).

What do the ASP.NET Universal Providers enable that the default sql providers don't?

Inside the readme file of the ASP.NET Universal providers NuGet package is this quote
The SqlMembershipProvider, SqlRoleProvider, SqlProfileProvider classes that shipped in ASP.NET through version 4 support only Microsoft SQL Server and Microsoft SQL Server Express. They do not support newer offerings such as Microsoft SQL Azure and Microsoft SQL Server Compact.
However, when I run the custom aspnet_regsql scripts for Sql Azure http://support.microsoft.com/kb/2006191 and then point my web.config to the SQL Azure database, ASP.NET membership seems to work correctly.
Can anyone tell me what exactly doesn't work with SQL Azure, that the universal providers enable?
The main difference, as far as I can tell, is that when you connect to Sql Azure you need to implement retry logic. The original providers won't retry when a connection error occurs and this will happen from time to time with SQL Azure.
Also, the original providers don't raise exceptions containing the full SQL error codes so if your database is being throttled you won't know which throttling rule is being applied. At least this is what the SQL Azure support team tell me - I'm currently in the process of upgrading for this reason.
A note of caution: the Universal Providers seem to use a different database schema to the original providers, so you will need to migrate membership data. If you are starting a new project it will be much easier to change these providers before you go live with real users!
the universal providers enable you to use asp.net membership system on sqlazure and also make the implementation sql agnostic. you can take the same app using universal providers and change the datasource to be sql server/sqlexpress/sqlce/localdb etc

Resources