使用 Workbench 从 MSSQL 迁移到 MySQL 时未从源中检索模式列表

Posted

技术标签:

【中文标题】使用 Workbench 从 MSSQL 迁移到 MySQL 时未从源中检索模式列表【英文标题】:Not retrieving schema list from source when migrating from MSSQL to MySQL using Workbench 【发布时间】:2013-06-06 23:37:39 【问题描述】:

我正在尝试将 MS SQL Server 中的数据库迁移到 mysql,我正在使用 Workbench 来执行此操作。 我连接到两个数据库,但收到以下警告:

Retrieve schema list from source.

这是消息日志:

Starting...
Connect to source DBMS...
- Connecting to source...
Connect to source DBMS done
Check target DBMS connection...
- Connecting to target...
Connecting to Mysql@74.5.3.2:3306...
Connecting to Mysql@74.5.3.2:3306...
Connected
Check target DBMS connection done
Retrieve schema list from source....
- Checking connection...
- Fetching catalog names...
WARNING: The following catalogs where not found: Autotask
- Fetching schema names...
- Finished
Retrieve schema list from source finished
Tasks finished with warnings and/or errors, view the logs for details
Finished performing tasks.

Autotask 是数据库的名称。 请问我做错了什么?

注意:即使有警告,向导让我单击下一步,但下一个屏幕应该列出架构,但由于它是空的,我无法继续。

提前致谢。 巴勃罗

【问题讨论】:

我也有这个问题,使用 SQL Server Native Client 10.0 连接到 sql server 2008。连接成功,但 Schemata Selection 是一个空列表 【参考方案1】:

如果其他人遇到同样的问题,而您无权访问“sa”用户,我想我会发布解决问题的方法。

根本问题是用户权限。尽管您可以很好地登录数据库,但需要设置一个特定的权限才能使其与 MySQL Workbench 一起使用。您需要的权限是“查看任何定义”,该权限位于用户“Securables”选项卡下。

这里有一个很好的短视频http://mysqlworkbench.org/2013/08/video-tutorial-setup-a-restricted-sql-server-account-for-migrations-with-mysql-workbench/,具体部分位于2:17。

如果数据库位于共享主机上 - 正如我需要访问的那样 - 我建议只需通过电子邮件发送主机(最好通过您的客户主要联系人),他们会为您完成。在我的情况下,主机将其打开了 1 天,因为在打开它的最后肯定存在一些其他潜在的安全风险。

希望这对其他人有帮助。

【讨论】:

这绝对是正确的答案。谢谢你。这么快就解决了这么多问题。【参考方案2】:

确保您以用户“sa”的身份连接到 MS SQL。非管理员用户可能缺乏提取架构所需的权限...

【讨论】:

请不要。这已经足够了,但违反了“最小特权原则”。

以上是关于使用 Workbench 从 MSSQL 迁移到 MySQL 时未从源中检索模式列表的主要内容,如果未能解决你的问题,请参考以下文章

从 MS SQL-Server 迁移数据库时出现 MYSQL Workbench“不正确的字符串值”错误

在 MySQL Workbench 中调用 Python 模块函数时出错

仅将表数据从 MSSQL 迁移到 MySQL

NHibernate - 从 PGSQL 迁移到 MSSQL 时语法不正确

MySQL Workbench 从 SQL Server 2008 迁移到 MySQL:错误:确定要复制的行数:不支持的操作数类型

mysql workbench 迁移具有两个不同名称的数据库