SQL Server到MySql转换 - 架构与数据库问题

时间:2010-10-01 14:40:50

标签: mysql database sql-server-2008 schema

所有

我们正在评估MySql作为共享托管环境中较小客户端的SQL服务器的低成本替代方案。关于我们如何迁移一些细节,如表/标量值函数,sql作业等,我仍然模糊不清,但我会在另一个线程中发布细节。但是,我确实有一个关于MySql中数据库与模式的基本问题。

目前,我们的SQL服务器实例有多个数据库,每个数据库都有多个模式。例如:

数据库(架构......)
====================
Client1Database(dbo,web)
Client2Database(dbo,web,schema3)
Client3Database(dbo,schema2)

在我的示例MySql实例中,似乎顶层对象是模式,而不是数据库。但是“模式”旁边有数据库图标,在我们的例子中,“模式”被列为我们.NET应用程序中连接字符串的一部分。

所以我想我只是有一些关于如何在MySql中感知模式/数据库的澄清问题......

  1. 如果数据库包含多个模式或单个模式“数据库”,则可以将MySql实例中的顶级对象视为模式。
  2. 在上面的场景中,我是否会为每个客户端创建一个单独的实例,将单个客户端数据库展平为单个架构并将三个客户端保留在同一个实例中,或者是其他一些逃避我的方法?是否有利益,安全性,清晰度或其他方法优于另一种方法?
  3. 提前感谢您的回复。

1 个答案:

答案 0 :(得分:0)

首先,我会建议你或任何人避免使用MySQL,有很多免费的RDBMS可用,我最喜欢的是PostgreSQL,在我看来它更好。此外,您的要求非常小,使用SQL Server Express不应该是一个问题,虽然我知道共享主机可以限制您的选择。你(希望)已经想出了这个,但我会尽力回答你的问题......

  1. 基本上MySQL没有架构,只有数据库(在标准中称为目录)。几年前,他们决定将关键字SCHEMA添加为DATABASE的别名。有计划加入模式的概念,但我不会指望它很快就会实现。
  2. 这主要取决于您在当前设置中如何使用数据库与模式。在大多数情况下,我认为最好将这些数据库保存在单个实例中以简化管理任务。
  3. P.S。:最后有关如何解决这个问题的最新信息会很棒。