As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
What is a free tool to compare two Sql Server tables (data and schema).
It would be great if the tool can script the differences found.
I also went through some older posts. The closest I have seen is SQLDBDiff but I would love to try more options.
TableDiff.exe should have everything you need. It is one of the hidden gems in SQL Server 2005. So you don't have to download anything.
• Table Difference tool allows you to discover and reconcile differences between a source and destination table or a view. Tablediff Utility can report differences on schema and data. The most popular feature of tablediff is the fact that it can generate a script that you can run on the destination that will reconcile differences between the tables. TableDiff.exe takes 2 sets of input;
• Connectivity - Provide source and destination objects and connectivity information.
• Compare Options - Select one of the compare options
• Compare schemas: Regular or Strict
• Compare using Rowcounts, Hashes or Column comparisons
• Generate difference scripts with I/U/D statements to synchronize destination to the source.
TableDiff was intended for replication but can easily apply to any scenario where you need to compare data and schema.
You can find more information about command line utilities and the Tablediff Utility in Books Online for SQL Server 2005.
Even though this has been answered years ago a new comer which works really well is Data Compare within Visual Studio. It is part of Visual Studio 2010 and is part of the Database Professionals GDR update to Visual Studio 2008. This works great when you want to compare the same tables in 2 different databases.
If you need to compare 2 tables with the same schema that are in the same database or with different names TableDiff (mentioned earlier) is a great option.
DBComparer is free and works well for MS SQL Server
Atlantis Interactiv, now owned by Pragmatic Works has two free tools called Schema Inspector and Data Inspector that works very much like the Red Gates tools.
Try CompareData from Zidsoft. It's free for comparing table/view data and has 30-trial for metadata comparisons
We can recommend you a our reliable solutions for data and schema comparison for SQL Server: dbForge Schema Compare for SQL Server and dbForge Data Compare for SQL Server.
Their main advantages are high speed (up to 3 times quicker than most competitors) and extreme reliability.
Those tools are not free, but you can use 30-days trial for free and you have an opportunity to get a free license for both of the products - please refer to our free license conditions page.
A SQL Server specific database table diff tool is Volpet's Table Diff
Related
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I have been doing quite a bit of research trying to figure out which database system would best suite my needs, but I need a little guidance. I am writing a VB.Net program that keeps track of inventory, to be used by small businesses. I will be using a client server type model, with 1 computer on the network acting as a server, the rest clients. The avg number of client computers will probably be 2-5 or so. The most would be 10-15. Right now I am using an Access DB stored on a network Hard drive, but that way is slower and not very stable. Access was the first DB for me to learn how to program with so that is why I am using it now, but I know I need to change that going forward.
Requirements:
I want the installation process to be easy and simple because these businesses will have no IT Dept. Database server needs to be installed along with program installation.
Items and customers will be continuously added, so database size limits concerns me a little bit, as I don't want to have problems later on when the database size gets maxed out.
Here is what I have gathered about the following DB types:
Access: What I use now. file based db. not intended for multiple users using 1 DB.
MySQL: Open source but seems distributing with program requires licensing, so this is out. I wish this was an option, but I need free.
SQL Server EXPRESS 2005/2008: No licensing, also 2008 R2 has a 10gb limit. I am leaning towards this for now. Seems to be easiest integration with VB.Net & Visual Studio. Prerequisites are available in Visual Studio (for SQL Server 2005) so SQL server will get installed during program installation.
SQL Server CE: file based db. maybe not the best choice for client/server setup? Might not be any better than how I use Access now. Correct me if I'm wrong.
Firebird: I see other programs are using it in a client/server type setup, but it looks like a file based db? Also looks like support for vb.net + firebird is scarce, which scares me. No limits though, which would be awesome.
I've done tons of research, but I still don't know which is best for my situation.
I think the approach you are taking is incorrect. You're asking your customers to install a RDBMS system and software when they don't have an IT department. Who is going to maintain this?
If this were me, I'd propose a hosted model web app perhaps using Windows Azure where you have a single centralized database for all your clients (create a multi-tenant database) and Microsoft handles all the infrastructure hassles. Or go with some third-part hosting solution that supports SQL Server 2012 (why consider 2005 or 2008?). Either would be better, IMO, than what you're proposing. And I believe it would be considerably easier to maintain and serve all your clients in this type of set up.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I want to download a good database book for developers, can you guide me and send me good links to find a good one. I am working with SQL Server 2008.
This has been asked here many times before:
A beginner's guide to SQL database design
Can anyone recommend a book for building enterprise database applications in .Net?
My personal favorite resource is Books Online - this is the documentation that comes with SQL server.
For database concepts Fundamentals of Database Systems
Good Books for SQL Looking for a good book to learn SQL
For SQl Server How to Learn MS SQL Server 2005?
Beginning SQL Server 2005 Administration
FOr MySql What are the best books for MySQL?
Book recommendation for advanced SQL design, scripting and optimiziation.
What are some resources I can use to learn profiling/optimizing?
Funny that no one seems to mention Date's "SQL and relational theory : How to write accurate SQL code".
Head First SQL (O'Reilly) is excellent, whole series is great.
They start of with the basics (as do most books), covering syntax, database design and advanced querying.
Excrept:
2008 Jolt Productivity Award Winner!
Is your data dragging you down? Are your tables all tangled up? Well
we've got the tools to teach you just how to wrangle your databases
into submission. Using the latest research in neurobiology, cognitive
science, and learning theory to craft a multi-sensory SQL learning
experience, Head First SQL has a visually rich format designed for the
way your brain works, not a text-heavy approach that puts you to
sleep.
Maybe you've written some simple SQL queries to interact with
databases. But now you want more, you want to really dig into those
databases and work with your data. Head First SQL will show you the
fundamentals of SQL and how to really take advantage of it. We'll take
you on a journey through the language, from basic INSERT statements
and SELECT queries to hardcore database manipulation with indices,
joins, and transactions. We all know "Data is Power"—but we'll show
you how to have "Power over your Data". Expect to have fun, expect to
learn, and expect to be querying, normalizing, and joining your data
like a pro by the time you're finished reading!
See Kalen Delaney's recommended reading list. There's some great books listed there, as well as other resources.
May I recommend
Microsoft SQL Server 2008 R2 Unleashed
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
is there a good database design tool can generate sql script to create database (tables) in major database (Oracle, MySQL, SQL server, Sybase) without any changes?
Which design tool are you think is good.
I prefer Power Architect, for the same reasons I listed in this question:
Accesses source databases via JDBC
Connects to multiple source databases concurrently
Compares data models & database structures and identifies discrepancies
Drag-and-drop source tables & columns into the playpen
Remembers the origin of each column
Generates source-to-target visual Mapping Reports
Forward/reverse engineers PostgreSQL, Oracle, MS SQL Server & more
Saves source data structure snapshots in the project, so you can work remotely
All project data is stored in an easy-to-parse XML format
OLAP schema modeling: Cubes, Measures, Dimensions, Hierarchies & Levels
GPL (version 3) licensed
...and a couple reasons of my own:
runs on basically any platform
has fairly nice keyboard support for fast model development
relatively useful diagram auto-layout
I've used Datanamic's DeZign for Databases with success. It's a graphical interface that can generate the scripts for almost every major database.
I am using Enterprise Architect. I use it for all of my design UML based use cases, Architectural views, class/collaboration diagrams and database schema. Its great. One can generate script very easilly.
Maybe you could consider using the UML2DB SQL generation service:
http://modeling-languages.com/content/uml2db-full-code-generation-sql-scripts-databases
Choose your UML tool (e.g. ArgoUML), draw a class diagram, (optional) configure some code-generation options in the web interface and it's done. Forget about using stereotypes or profiles. Let the service use common-sense to do the generation for you. All major database vendors supported.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I was wondering if there are any alternatives to Microsoft's SQL Server Management Studio?
Not there's anything wrong with SSMS, but sometimes it just seem too big an application where all I want todo is browse/edit tables and run queries.
I've started using LinqPad. In addition to being more lightweight than SSMS, you can also practice writing LINQ queries- way more fun than boring old TSQL!
TOAD for MS SQL looks pretty good. I've never used it personally but I have used Quest's other products and they're solid.
Seems that no one mentioned Query Express (http://www.albahari.com/queryexpress.aspx) and a fork Query ExPlus (also link at the bottom of http://www.albahari.com/queryexpress.aspx)
BTW. First URL is the home page of Joseph Albahari who is the author of LINQPad (check out this killer tool)
Database .NET
I have been using Atlantis SQL Enywhere, a free software, for almost 6 months and has been working really well. Works with SQL 2005 and SQL 2008 versions. I am really impressed with its features and keyboard shortcuts are similar to VS, so makes the transition really smooth to a new editor.
Some of the features that are worth mentioning:
Intellisense that actually works when using multiple tables and joins with aliases
Suggestion of joins when using multiple tables (reduces time on typing, really neat)
Rich formatting of sql code, AutoIndent using Ctrl K, Ctrl D.
Better representation of SQL plans
Highlights variables declarations while they are used.
Table definition on mouse hover.
All these features have saved me lot of time.
powershell + sqlcmd :)
If you are already spending time in Visual Studio, then you can always use the Server Explorer to connect to any .Net compliant database server.
Provided you're using Professional or greater, you can create and edit tables and databases, run queries, etc.
There is an express version on SSMS that has considerably fewer features but still has the basics.
vim + dbext :)
Oracle has a free program called SQL Developer which will work with Microsoft SQL Server as well as Oracle & MySQL. When accessing SQL Server, however, Oracle SQL Developer is only intended to enable an easy migration to Oracle, so your SQL Server database is essentially read-only.
You can still install and use Query Analyzer from previous SQL Server versions.
How about Embarcadero Rapid SQL Really good but kind of expensive.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I'm working on an open source project that uses SQL Server 2005 as the data store. We need a DB compare tool to generate diff scripts to be able to upgrade a DB from one version to another.
Is there an open source or free SQL Server DB diff tool out there that generates a convert script?
I think that Open DBiff does a good job.
It's simple and I works with SQL Server 2005/2008.
But only generate the change script. Nothing more and nothing less.
On CodePlex I noticed yesterday DbDiff (http://www.codeplex.com/OpenDBiff) that you could try. Supports Sql2005 and 2008, I did not try it.
I'd recommend spending some cash and getting Red Gate's SQL Compare tool which does an excellent job, and can even compare databases to Visual Studio database projects to generate upgrade scripts. It's fast and easy to use, and works well. The upgrade scripts are also of decent quality.
It's not that expensive. Probably less expensive than your time. Just think about how much your hourly rate is, and how many hours it might take to investigate an open-source tool and get it working (and how many you have already spent), then multiply them together. That's how much a 'free' tool is really costing you, which is often significantly more than a commercial tool.
It's not open source, but is free (as in beer): Sql Effects Accord (aka Clarity) Community Edition
AdeptSQL Diff and DataDiff are wonderful products, much cheaper than RedGate's and a much more simplified UI, and I have yet to run into a scenario it cannot handle.
Aloha
You might want to try SqlDbDiff. It can generate change scripts. The free edition does a good enough job.
Anyone try xSQL Bundle (xSQL Data Compare and xSQL Object Compare)? Our place only uses for DB diffs, no syncs, so can't say for syncing but the diff and reports are not bad.
Also, OpenDBDiff has a spin off, not sure which is better - http://code.google.com/p/sql-dbdiff/
Anyone know if any of the free/open source DB diff tools mentioned here offer scriptable / command line interface to automate the diffs and synching?
I looked into xSQL tools, they offer command line access but unfortunately, no scriptable command to export diff results to (report) file.
While it's not exactly what you want, I found this for postgres:
http://mbk.projects.postgresql.org/
It doesn't generate a diff to apply, but rather allows you to merge a full dump of the new version of the table with the previous version.
Hmm, none that I know of. You can always retrieve the definitions as SQL and then run a diff tool on them, but it's a bit of a pain in the rear.
Probably the best solution for this is using some kind of "Migrations" tool, so you can keep your database definitions together with your code, and version them, etc.
Update
On Sourceforge I found Whiz SQL Structure Compare with this description: Whiz is a database diff utility which will be useful to find difference between two MS-SQL Server databases. It also able to generate SQL script to update the changes from one database to another database.
However, I've been unsuccessful in getting it to work so far...
We have both SQL Delta and SQL Compare. Each has strengths, but each also have weaknesses that make them quite a pain.
SQL Delta will miss some triggers in its comparison, and it will take actions not found in the action list, and it will sometimes take actions you did not want it to take. That was discovered at quite a cost in time.
SQL Compare will catch the triggers, but they are embedded within the table listings. On a large database, that means going through each table and sifting them out. Something the tool should have isolated for us. Again, quite a cost in time.
Its is a little late, but I just relased a real simple project on code plex:
http://dbcompare.codeplex.com
Enter (or build) two connection strings and it will compare all Tables, Views and Stored Procedures.