我们目前有一台 SQL 服务器(2005,在 Windows Server 2003 计算机上),上面有 3 个数据库,我想直接复制它们,这样就可以对它们进行一些升级测试。我认为我无法使用复制数据库向导来执行此操作,因为我在虚拟机上运行测试服务器,并且它们没有正确联网。我也无法关闭这个数据库,因为它需要为公司全天候运行。所以我想问的是,有没有办法直接复制数据库,然后将它们直接导入到不同的 SQL 服务器安装中(2005 或 2008,在两者上运行测试),而不会关闭数据库或意外损坏任何东西。并让它们在另一台机器上像什么都没发生一样工作?
答案1
您可以备份数据库并将其还原到另一台服务器(或具有不同数据库名称和路径的同一台服务器),而不会影响数据库的生产使用。
答案2
源服务器:BACKUP DATABASE dbname to disk = 'sourcepathname\dbname.bak'
目标服务器:从磁盘恢复数据库 dbname = '\sourceservername\sourcepathname\dbname.bak',将'logicalname_data' 移动到'mdf 位置',将'logicalname_log' 移动到'ldf 位置'
假设您的目标服务器上安装了 SQL 2005,并且您的源服务器登录信息也在那里,等等。
答案3
最简单的开始就是备份/恢复。使用仅复制选项可确保在进行备份时不会干扰任何现有的备份计划。