你看,我有这个应用程序,“ESET远程管理服务器”(ERAS),它(最初)一个本地Access数据库存储其日志和分析.
决定将其数据库迁移到sql Server 2008 R2计算机.
ESET(软件的制造商)帮助提供了执行此类迁移的工具;不幸的是,作为我的DBA新手,我没有意识到我必须首先创建我自己的数据库(在sql Server端)并将该数据库指定为ERAS’ODBC连接的’默认’数据库.
现在,迁移工具已成功在“master”数据库中创建了一大堆表.
我的问题:
Should I leave things be as it is,or should I re-migrate the ERAS database to a different database?
如果你建议我执行重新迁移,我的计划是(1)创建一个新实例,(2)在新实例中创建一个新数据库,(3)在ERAS服务器上创建一个新的ODBC系统DSN,指向步骤2中的新数据库,(4)使用ESET的迁移工具从当前DSN迁移到新DSN.
你觉得我错过了一步吗?
预先感谢任何指导.
解决方法
>如果您希望将此数据库迁移到另一个sql Server实例,则无论如何都需要执行此操作.您无法迁移master.
> master数据库不适用于用户数据.它意味着保持实例功能所需的数据和代码的中心点.在主泥浆中添加东西.
>向master添加内容需要不必要地更改master中的安全性.
在您的情况下,这些对您来说可能不是一个大问题,但除非有一个可靠的商业案例,否则我总是提倡最佳实践.
关于您的重新迁移计划,我不认为您需要创建一个新的sql Server实例.只需为ERAS创建一个新数据库并重做迁移就可以了.然后,您可以清除ERAS在其中创建的对象的主数据.在ODBC连接中,您指定要使用的连接数据库,因此您应该可以将其更改为指向新数据库.
那么,这是我建议的步骤:
>创建新数据库(称之为ERAS或其他)>如果尚未创建新的sql登录(在服务器级别)>在新数据库中以新用户身份添加新sql登录(最有可能作为dbo角色的成员)>将ODBC连接更改为指向新数据库(并根据需要使用刚刚创建的新登录凭据)>执行迁移步骤,现在应该在新数据库中创建所有必需的架构对象和数据>清理大师.在这里,您最好手动删除ERAS对象,而不是从备份中恢复.恢复master不是一项简单的任务,如果出现问题,它可能会导致整个sql Server实例无法使用>利润!