如何将在远程服务器中运行的SQLAnywhere 9数据库迁移到我的计算机上的mysql服务器?

时间:2021-12-22 20:54:37

I am working at a company that has some CRM software running in a remote Windows XP server that uses a SQLAnywhere 9 db to store its data; I have access to this remote server with an administrator account.

我在一家公司工作,该公司在远程Windows XP服务器上运行一些CRM软件,该服务器使用SQLAnywhere 9 db存储其数据;我可以使用管理员帐户访问此远程服务器。

I would like to extract the db into a .sql file so that I can run the db locally on my machine without affecting the running db in the server (since it is key for the company's day to day operation).

我想将db提取到一个.sql文件中,以便我可以在我的机器上本地运行db而不影响服务器中正在运行的db(因为它是公司日常操作的关键)。

The reason I need this is that we are going to test some BI Software and we need data from this database to test it, but we don't know the structure of the database since the developers of the CRM software didn't give us any documentation on it. So we need to have the database locally so that, without affecting the running CRM, we can:

我需要这个的原因是我们要测试一些BI软件,我们需要来自这个数据库的数据来测试它,但我们不知道数据库的结构,因为CRM软件的开发人员没有给我们任何文件就可以了。因此,我们需要在本地拥有数据库,以便在不影响正在运行的CRM的情况下,我们可以:

  1. understand the structure by looking at the DDL
  2. 通过查看DDL来了解结构

  3. make queries to it to get sample data
  4. 对它进行查询以获取样本数据

I researched a bit, and the most common solution to my problem was to use dbunload on the remote server to unload the db into a reload.sql file that contained what I needed. But most tutorials on the subject mention that I have to stop the db first (which would be catastrophic). If this is the only option, then I guess I am willing to do it on the weekend when the CRM is not used, but I wanted to know if there was another solution first.

我研究了一下,我的问题最常见的解决方案是在远程服务器上使用dbunload将db卸载到包含我需要的reload.sql文件中。但是大多数有关该主题的教程都提到我必须首先停止数据库(这将是灾难性的)。如果这是唯一的选择,那么我想我愿意在周末没有使用CRM时这样做,但我想知道是否还有其他解决方案。

If there is no other solution, can you point me to where I can find the proper and safer way to do this?

如果没有其他解决方案,你能指出我能找到合适且更安全的方法吗?

I have researched a lot, but prior to this day I have never even heard of SQLAnywhere, so I really need all the help I can get. My main concern is doing something that impacts negatively the CRM software.

我已经研究了很多,但在这一天之前我从未听说过SQLAnywhere,所以我真的需要我能得到的所有帮助。我主要担心的是做一些对CRM软件产生负面影响的事情。

Thank you.

1 个解决方案

#1


0  

You can run dbunload across the network, you just have to tell it to do an "external" unload. The default is to do an internal unload which would only work from the machine where the database server is running.

您可以在网络上运行dbunload,您只需要告诉它执行“外部”卸载。默认设置是执行内部卸载,该内部卸载仅适用于运行数据库服务器的计算机。

I don't have SQL Anywhere 9 documentation right now to look up the exact switch, but dbunload -? should show you all the possible switches.

我现在没有SQL Anywhere 9文档来查找确切的开关,但dbunload - ?应该向您展示所有可能的开关。

Edit:
-an will create a new database and load the data and schema from another data
-xi switch will do external unload and internal reload.
-c parameters to connect to your remote database

编辑:-an将创建一个新数据库并从另一个数据加载数据和模式-xi开关将执行外部卸载和内部重新加载。 -c参数连接到远程数据库

#1


0  

You can run dbunload across the network, you just have to tell it to do an "external" unload. The default is to do an internal unload which would only work from the machine where the database server is running.

您可以在网络上运行dbunload,您只需要告诉它执行“外部”卸载。默认设置是执行内部卸载,该内部卸载仅适用于运行数据库服务器的计算机。

I don't have SQL Anywhere 9 documentation right now to look up the exact switch, but dbunload -? should show you all the possible switches.

我现在没有SQL Anywhere 9文档来查找确切的开关,但dbunload - ?应该向您展示所有可能的开关。

Edit:
-an will create a new database and load the data and schema from another data
-xi switch will do external unload and internal reload.
-c parameters to connect to your remote database

编辑:-an将创建一个新数据库并从另一个数据加载数据和模式-xi开关将执行外部卸载和内部重新加载。 -c参数连接到远程数据库