Migrating Dentrix Image 4.5’s database to another computer

This post is way off-topic for those who read me regularly, but it should be helpful for those looking for this information via a web search.

Our original server was a very old (1999ish), very slow Pentium running Windows XP Professional, Dentrix 11, and Dentrix Image 4.5.
We decided to upgrade, and bought a new Dell PowerEdge server with a Dual Core Intel Xeon processor and Windows Server 2008 64-bit edition.

Installing Dentrix, Image, and the other required applications went fairly smoothly, with only a possible hiccup with installing .NET Framework 1.1, required for Dentrix. I say possible because it was only a warning, and we don’t know if it will manifest into any problems down the road.

After installation came the hard part – moving the data.

  • Pulling the Dentrix data (ledger, chart, schedule, etc.; about 300MB) over was simply a matter of copying the data into the appropriate Data directory.
  • Pulling images (35GB) over took longer, given the amount of data, but it was as simple.
  • Figuring out how to transfer the Dentrix Image SQL Server database, the database that contains a mapping between patients and images, took an absurd amount of time.

I tried:

  • Stopping the SQL Servers on both source (old server) and destination (new server) and copying the .mdf/.ldf files from source to destination. This resulted in Chart showing “Cannot initialize image database”.
  • Using the seemingly-useful DXImage/bin/IDImage application, which ultimately failed.

The key to figuring out was this Microsoft Support article describing moving databases using sp_detach_db and sp_attach_db. To fix,

  • Open a command line on the source and type ‘osql -E -Q’ to get into SQL command line
  • Type:
use master
go
sp_detach_db 'Viper'
go
  • Copy ‘Dentrix\DXImage\MSDE\MSSQL$VIPER\Viper.mdf’ and ‘Dentrix\DXImage\MSDE\MSSQL$VIPER\Viper_log.ldf’ to the same location on the server as ‘Viper_2.mdf’ and ‘Viper_log_2.mdf’
  • Open a command line on the destination and type ‘osql -E -Q’ to get into SQL command line
  • Type:
use master
go
drop viper
go
sp_attach_db 'viper','C:\Dentrix\DXImage\MSDE\MSSQL$VIPER\Viper_2.mdf','C:\Dentrix\DXImage\MSDE\MSSQL$VIPER\Viper_log_2.ldf'
go
  • Make sure to change your firewall settings on your new server to enable SQL Server to access it.

This did it. Oh, how I wish Dentrix Image had better (or any, for that matter) documentation, except for this site which looks like it was written by someone in high school.

UPDATE: In all likelihood, the first method (copy .mdf and .ldf) might have worked had I tried changing the firewall settings sooner!

UPDATE 2: After a massive meltdown of our servers and a long technical session with the good people at Dentrix Image, we learned a few things:

  • Windows Server 2008 is NOT supported for Dentrix Image 4.5. It was practically sheer luck that enabled it to work. Windows XP and (I believe) Server 2003 are the only supported environments. The issue lies with the embedded Microsoft SQL Server used in Dentrix Image itself, which is incompatible with Server 2008.
  • However, since we already migrated Dentrix to Server 2008, and still had our workstations on XP, there is a solution: leave the actual images on our fast new Server 2008, and host the image database itself on a workstation running XP.
  • The caveat here is that both machines must be accessible by network names (e.g. “server1”, “server2”), and not just by IP address (e.g. “192.168.1.10”). So, if I ping “server1”, I would get a proper response. It is beyond the scope of this entry to explain how to make this work, but a hint to get you down that path: static IPs and the hosts file.

To get this hybrid system (image files on “dentrix server”, image database on “idb server”) to work:

  • Install Dentrix Image as a server install on a Windows XP machine. We’ll call this machine “idb server” below.
  • On the old server, run [DXImage]\bin\IDBAdmin
  • Choose Export Database and choose a path. Move the resulting exported database to the idb server.
  • On the idb server, run [DXImage]\bin\IDBAdmin
  • Choose Import Database and choose the file you just copied over.
  • Choose Initialize Database.
  • On the dentrix server, open [DXImage]\images\rtx.con . Change the file to point to the new server’s network name. This is the missing link: workstations will look at this file to figure out where to find the image database.

UPDATE 3: We have posted our backup process for the lowly Windows XP IDB Admin server in a follow-up, Backing up Dentrix Image 4.5’s database.