SQL Server“主”数据库中的表会导致问题吗?

SQL Server“主”数据库中的表会导致问题吗?

大家,请对我好一点...由于我们的 DBA 辞职了,所以我只是一个“偶然”的 DBA,所以我完全是 DBA 新手...

您看,我有这个应用程序“ESET 远程管理服务器”(ERAS),它将其日志和分析存储在(最初)本地 Access 数据库上。

决定将其数据库迁移到 SQL Server 2008 R2 机器。

ESET(该软件的制造商)提供了非常有用的工具来执行此类迁移;不幸的是,作为 DBA 新手,我没有意识到我必须首先创建自己的数据库(在 SQL Server 端)并将该数据库指定为 ERAS ODBC 连接的“默认”数据库。

现在,迁移工具已经成功在“主”数据库中创建了一大堆表。

我的问题:

我应该保持现状不变,还是应该将 ERAS 数据库重新迁移到其他数据库?

如果您建议我执行重新迁移,我的计划是(1)创建一个新实例,(2)在新实例中创建一个新数据库,(3)在 ERAS 服务器上创建一个指向步骤 2 中新数据库的新 ODBC 系统 DSN,(4)使用 ESET 的迁移工具从当前 DSN 迁移到新 DSN。

您认为我漏掉了哪一步吗?

提前感谢任何指导。

答案1

我建议将其迁移到专用数据库。以下是几个原因:

  • 如果您想将此数据库迁移到 SQL Server 的其他实例,则无论如何都需要执行此操作。您无法迁移主数据库。
  • 主数据库不适用于用户数据。它旨在成为保持实例正常运行所需的数据和代码的中心点。在主数据库中添加内容会使情况变得混乱。
  • 将内容添加到 master 时需要不必要地更改 master 中的安全性。

在您的环境下,这些可能不是什么大问题,但我始终提倡最佳做法,除非有确凿的商业案例可以采取其他做法。

关于您的重新迁移计划,我认为您不需要创建新的 SQL Server 实例。只需为 ERAS 创建新数据库并重新进行迁移即可。然后,您可以清除 ERAS 在其中创建的对象。在您的 ODBC 连接中,您可以指定连接要使用的数据库,因此您应该能够将其更改为指向新数据库。

因此,我建议采取以下步骤:

  • 创建新的数据库(称为 ERAS 或其他名称)
  • 如果尚未创建新的 SQL 登录名(在服务器级别),请创建它
  • 将新的 SQL 登录名添加为新数据库中的用户(最有可能是作为 dbo 角色的成员)
  • 更改 ODBC 连接以指向新数据库(如有必要,使用刚刚创建的新登录凭据)
  • 执行迁移步骤,现在应该在新数据库中创建所有必需的架构对象和数据
  • 清理主服务器。此时,您最好手动删除 ERAS 对象,而不是从备份中恢复。恢复主服务器并非易事,如果出现问题,可能会导致整个 SQL Server 实例无法使用
  • 利润!

相关内容