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

伙计们,请善待我…我只是一个'偶然的'DBA,因为我们的数据库pipe理员辞职,所以我完全是DBA的新手…

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

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

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

现在,迁移工具已经在“master”数据库中成功创build了大量表。

我的问题:

我是否应该保持原样,还是应该将ERAS数据库重新迁移到其他数据库?

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

你觉得我错过了一步吗?

预先感谢任何指导。

我会build议做一个专门的数据库。 这里有几个原因:

  • 如果你想把这个数据库迁移到不同的SQL Server实例,那么你需要这样做。 你不能迁移主人。
  • 主数据库不适用于用户数据。 它意味着需要保持实例正常工作的数据和代码的中心点。 在那里的水里添加东西泥泞的东西。
  • 把东西添加到主机中需要不必要地改变主机的安全性。

在您的情况下,这些问题对您来说可能不是什么大问题,但我总是提倡最佳实践,除非有一个坚实的商业案例来做其他事情。

关于你的重新迁移计划,我没有看到你需要创build一个新的SQL Server实例。 只要为ERAS创build一个新数据库并重新迁移,您应该没问题。 然后,您可以清除ERAS在其中创build的对象的主人。 在你的ODBC连接中,你可以指定连接使用哪个数据库,所以你应该可以改变它来指向新的数据库。

所以,这里是我会build议的步骤:

  • 创build你的新数据库(称之为ERAS或其他)
  • 如果您还没有这样做,请创build一个新的SQLlogin(在服务器级别)
  • 将新的SQLlogin添加为新数据库中的用户(很可能是作为dboangular色的成员)
  • 更改您的ODBC连接以指向新的数据库(并根据需要使用您刚刚创build的新login凭据)
  • 执行迁移步骤,现在应该在新数据库中创build所有必需的模式对象和数据
  • 清理主人。 在这里,您最好手动删除ERAS对象,而不是从备份中恢复。 恢复主控并不是一项简单的任务,如果出现问题,则可能导致整个SQL Server实例无法使用
  • 利润!