I've been looking for some best practice instructions on how to do this, but everything I have found thus far refers to an internal/AD-based DNS migration. This project is public-based DNS, no AD, primary DNS hosting is on Windows 2000 and I want to migrate it to Windows 2003 (secondary DNS is already Windows 2003.) At the moment, there are nearly 300 zones (domains) in the hosting environment. Thanks in advance.
Here's a way you can do it. It's old school and may not be the best method but it will work:
Since your current DNS is not AD integrated that means that all of the zone files are stored at %systemroot%\system32\dns. Copy all of the zone files on the old DNS server to the same location on the new DNS server. On the new DNS server create new non-AD integrated zones with the same names as the zones on the old server (which will be the same name as the filenames, such that: a zone named test.local will have a zone file named test.local.dns, just leave out the .dns when you're naming your zones), select the option to use an existing zone file (rather than creating a new zone file) and the DNS server will create a new zone from the file with all of the records intact.
Try it with a single zone file as a test and see if it works for you.
If your secondary already is running Windows 2003, and all the domains are setup then all you should have to do is switch your 2003 'secondary' server to primary for all the domains. Reinstall or replace your Windows 2000 server, and then set the new server up as a secondary.