我有一个正在运行的 SQL 实例,其数据文件位于 SAN 驱动器上。我需要将此实例移至其他 SAN。我的服务器/实例位于机架 1 中的 San 驱动器 p:\ 上。我在机架 2 上有一台新服务器,我想将其移至该服务器。如果可能的话,我该如何最好地完成此操作?是的,我是个菜鸟。任何帮助都将不胜感激。
答案1
假设您可以容忍系统停机时间,最简单的方法是将实例脱机,在某些未使用的驱动器号下临时启动新存储,将所有文件从旧存储上的驱动器复制到新存储上的驱动器(同时保留文件和文件夹的安全 ACL - 我通常使用 robocopy 进行此操作),远程旧存储,释放“官方”驱动器号,将驱动器号从临时驱动器号更改为官方驱动器号并启动实例。只要所有路径均未更改并且文件和路径上的读/写安全性相同,实例就不会知道旧驱动器和新驱动器之间的区别。
另一个不错的选择是与您的 SAN 团队沟通。他们可能有办法将数据“在幕后”迁移到其他存储上。这样您就不需要停机了。
无论何时做这样的事情,在开始之前一定要格外小心,做好一系列备份。
答案2
1) 使用 ALTER DATABASE 命令更改文件位置 2) 使用 ALTER DATABASE databasename SET OFFLINE 3) 移动数据库文件 4) 使用 ALTER DATABASE databasename SET ONLINE