How to migrate my SQL Comparison SDK scenario to DLM Automation?
ATimson
Posts: 15 Bronze 1
Supposedly this product is a replacement for the SQL Comparison SDK. As far as I can tell, it isn't.
I need to be able to do the following from my C# code:
How can I accomplish these with DLM Automation?
I need to be able to do the following from my C# code:
- Generate a script of the schema differences for just the tables from database A to database B, ignoring objects whose name contains any of a set of strings.
- Generate a script of the schema differences for just the tables from database B to database A, with the same name filter as above.
- Generate a script of the schema differences for a list of object types that we care about from database A to B, with the same name filter as above.
- Generate a script of data differences for some tables from database A to B, following a somewhat complex list of rules:
- All tables that start with any of a list of prefixes, AND that aren't in a list of excluded tables.
- Tables that don't start with one of our prefixes, but are in a separate list of must-include tables.
- As part of the above, set a manual comparison key for one of the tables, as I can do in the SQL Data Compare UI. (This one might not be possible from the SDK - it's a new requirement that I'm still working on implementing. But it's still something we would need DLM Automation to support in order to migrate.)
How can I accomplish these with DLM Automation?
- Which cmdlets do I need to use? (I can't find the data comparison cmdlet at all. Sync-DlmDatabaseSchema seems the most relevant for the schema comparison, but it doesn't allow file output.)
- How do I call the cmdlets from C#?
- How do I tell them what tables to use? Is writing a filter.scpf file the only answer, or is there some other method? And if that is that only answer, where can I find the schema for it so I know how to create one?
- How do I distribute this without each of my end users needing a DLM Automation license?
Tagged:
Answers
As to C#, I don't know. I've only done this work using PowerShell and the examples will show that. I'll see if I can get someone to show that for you.
You can pass in a filter to the Build process.
You can distribute the artifacts you generate, but if you need to do a compare to each of the clients to generate that artifact, that's tougher. We'd need to drill down on what you're doing, why and how.