I'm working on a project in Visual Studio, and I want to create a local database file (.mdf) within the project directory so that it can be checked into SubVersion and have configuration management. Unfortunately, trying to create/attach a database on a network share leads to an error.
All of the resources I have found to enable NAS functionality are SQL Server 2000 based and do not work for 2005/2008.
I don't care about the performance issues surrounding storing a database non-locally and I can guarantee 100% up-time and connectivity to the file server during the periods that I have the database attached. I do care about having my database files stored with the project.
To clarify, my working set from SubVersion is on the NAS. Corporate mobility means I might be at a different workstation later and I'll need access to my working set.
Also, I don't want any answers telling me that I shouldn't do this... I know its strongly recommended against. However, in the case of some sort of database corruption I can always just revert back to the repository version.
Everyone (including Microsoft) can, should, and will tell you that this is not necessarily a good idea. Be that as it may, MS did provide a way to do this in SQL 2005 (and maybe earlier and maybe later): trace flag 1807. See the MS KB article 304261 for details. (I don't know if it's still valid for 2008.)
Jeff Atwood hat written an article about this topic
Check out his blog entry "Get Your Database Under Version Control" with links to the topic and this blog entry. Also look at the comments
Here are some tools for versioning Databases
I'm pretty sure that you cannot do this with a local mdf. You need to run an instance of SQL Server (even if its express). When you install the instance, you tell the installer package where to store its data and log files. At this point, tell SQL to keep its data and logs on the NAS.
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.
How can I connect to a remote SQL server using Mac OS X? I don't really need a GUI, but it would be nice to have for the color coding and resultset grid. I'd rather not have to use a VM.
Is there a SQL client for Mac OS X that works with MS SQL Server?
Let's work together on a canonical answer.
Native Apps
SQLPro for MSSQL
Navicat
Valentina Studio
TablePlus
Java-Based
Oracle SQL Developer (free)
SQuirrel SQL (free, open source)
Razor SQL
DB Visualizer
DBeaver (free, open source)
SQL Workbench/J (free, open source)
JetBrains DataGrip
Metabase (free, open source)
Netbeans (free, open source, full development environment)
Electron-Based
Visual Studio Code with mssql extension
Azure Data Studio
SQLectron
(TODO: Add others mentioned below)
The Java-based Oracle SQL Developer has a plugin module that supports SQL Server. I use it regularly on my Mac. It's free, too.
Here's how to install the SQL Server plugin:
Run SQL Developer
go to this menu item: Oracle SQL Developer/Preferences/Database/Third-party JDBC Drivers
Click help.
It will have pointers to the JAR files for MySQL, SQL Server, etc.
The SQL Server JAR file is available at http://sourceforge.net/projects/jtds/files/
This will be the second question in a row I've answered with this, so I think it's worth pointing out that I have no affiliation with this product, but I use it and love it and think it's the right answer to this question too: DbVisualizer.
When this question was asked there were very few tools out there were worth much. I also ended up using Fusion and a Windows client. I have tried just about everything for MAC and Linux and never found anything worthwhile. That included dbvisualizer, squirrel (particularly bad, even though the windows haters in my office swear by it), the oracle SQL developer and a bunch of others.
Nothing compared to DBArtizan on Windows as far as I was concerned and I was prepared to use it with Fusion or VirtualBox. I don't use the MS product because it is only limited to MS SQL.
Bottom line is nothing free is worthwhile, nor were most commercial non windows products
However, now (March 2010) I believe there are two serious contenders and worthwhile versions for the MAC and Linux which have a low cost associated with them. The first one is Aqua Data Studio which costs about $450 per user, which is a barely acceptable, but cheap compared to DBArtizan and others with similar functionality (but MS only). The other is RazorSQL which only costs $69 per user.
Aqua data studio is good, but a resource hog and basically pretty sluggish and has non essential features such as the ER diagram tool, which is pretty bad at that. The Razor is lightning fast and is only a 16meg download and has everything an SQL developer needs including a TSQL editor.
So the big winner is RazorSQL and for $69, well worth it and feature ridden. Believe me, after several years of waiting to find a cheap non windows substitute for DBartizan, I have finally found one and I have been very picky.
My employer produces a simple, proof-of-concept HTML5-based SQL client which can be used against any ODBC data source on the web-browser host machine, through the HTML5 WebDB-to-ODBC Bridge we also produce. These components are free, for Mac, Windows, and more.
Applicable to many of the other answers here -- the Type 1 JDBC-to-ODBC Bridge that most are referring to is the one Sun built in to and bundled with the JVM. JVM/JRE/JDK documentation has always advised against using this built-in except in experimental scenarios, or when no other option exists, because this component was built as a proof-of-concept, and was never intended for production use.
My employer makes an enterprise-grade JDBC-to-ODBC Bridge, available as either a Single-Tier (installs entirely on the client application host) or a Multi-Tier (splits components over the client application host and the ODBC data source host, enabling JDBC client applications in any JVM to use ODBC data sources on Mac, Windows, Linux, etc.). This solution isn't free.
All of the above can be used with the ODBC Drivers for Sybase & Microsoft SQL Server (or other databases) we also produce ...
I thought Sequel Pro for MySQL looked pretty interesting. It's hard to find one tool that works with all those databases (especially SQL Server 2005 . . . most people use SQL Server Management Studio and that's Windows only of course).
Squirrel SQL is a Java based SQL client, that I've had good experience with on Windows and Linux. Since it's Java, it should do the trick.
It's open source. You can run multiple sessions with multiple databases concurrently.
I vote for RazorSQL also. It's very powerful in many respects and practically supports most databases out there. I mostly use it for SQL Server, MySQL and PostgreSQL.
DbVisualizer supports many different databases. There is a free edition that I have used previously. Download from here
I have had good success over the last two years or so using Navicat for MySQL.
The UI could use a little updating, but all of the tools and options they provide make the cost justifiable for me.
I use the Navicat clients for MySQL and PostgreSQL and am happy with them. "good" is obviously subjective... how do you judge your DB clients?
I've been using Oracle SQL Developer since the Microsoft software for SQL Server is not currently available on Mac OS X. It works wonders. I would also recommend RazorSQL or SQLGrinder.
I use AquaFold at work on Windows, but it's based on Java and supports Mac OS X.
I like SQLGrinder.
It's built using Cocoa, so it looks a lot better and feels more like an Mac OS X application than all the Java-based application mentioned here.
It uses JDBC drivers to connect to Microsoft SQL Server 2005, FrontBase, MySQL, OpenBase, Oracle, PostgreSQL, and Sybase.
Free trial or $59.
I've used (DB Solo) and I like it a lot. It's only $99 and comparable to many more expensive tools. It supports Oracle, SQL Server, Sybase, MySQL, PostgreSQL and others.
Not sure about open-source, but I've heard good things about http://www.advenio.com/sqlgrinder/ (not tried it, I prefer to write Python scripts to try things out rather than use GUIs;-).
When this question was asked, Microsoft's Remote Desktop for OS X had been unsupported for years. It wasn't a Universal Binary, and I found it to be somewhat buggy (I recall that the application will just quit after a failed connection instead of allowing you to alter the connection info and try again).
At the time I recommended the Open Source CoRD, a good RDP client for Mac.
Since then Microsoft Remote Desktop Client for Mac 2 was released.
I use Eclipse's Database development plugins - like all Java based SQL editors, it works cross platform with any type 4 (ie pure Java) JDBC driver. It's ok for basic stuff (the main failing is it struggles to give transaction control -- auto-commit=true is always set it seems).
Microsoft have a decent JDBC type 4 driver: http://www.microsoft.com/downloads/details.aspx?FamilyId=6D483869-816A-44CB-9787-A866235EFC7C&displaylang=en this can be used with all Java clients / programs on Win/Mac/Lin/etc.
Those people struggling with Java/JDBC on a Mac are presumably trying to use native drivers instead of JDBC ones -- I haven't used (or practically heard of) the ODBC driver bridge in almost 10 years.
It may not be the best solution if you don't already have it, but FileMaker 11 with the Actual SQL Server ODBC driver (http://www.actualtech.com/product_sqlserver.php) worked nicely for a client of mine today. The ODBC driver is only $29, but FileMaker is $299, which is why you might only consider it if you already have it.
This doesn't specifically answer your question, because I'm not sure in any clients exist in Mac OS X, but I generally just Remote Desktop into the server and work through that. Another option is VMware Fusion (which is much better than Parallels in my opinion) + Windows XP + SQL Server Management Studio.
I've used Eclipse with the Quantum-DB plugins for that purpose since I was already using Eclipse anyway.
Ed: phpMyAdmin is for MySQL, but the asker needs something for Microsoft SQL Server.
Most solutions that I found involve using an ODBC Driver and then whatever client application you use. For example, Gorilla SQL claims to be able to do that, even though the project seems abandoned.
Most good solutions are either using Remote Desktop or VMware/Parallels.
Try CoRD and modify what you want directly from the server.
It's open source.
http://cord.sourceforge.net/
For MySQL, there is Querious and Sequel Pro. The former costs US$25, and the latter is free. You can find a comparison of them here, and a list of some other Mac OS X MySQL clients here.
Steve
Since there currently isn't a MS SQL client for Mac OS X, I would, as Modesty has suggested, use Remote Desktop for the Mac.