我正在将数据库从一个实例移动到另一个实例(通过从第一个实例中分离数据库,将MDF
文件移动和记录到另一个位置,并将它们附加到新实例),不幸的是无法附加其中一些,并且错过了计算数据库的数量有问题,如何MDF
从特定目录检查所有未附加到 SQL Server 的文件。
我正在将数据库从一个实例移动到另一个实例(通过从第一个实例中分离数据库,将MDF
文件移动和记录到另一个位置,并将它们附加到新实例),不幸的是无法附加其中一些,并且错过了计算数据库的数量有问题,如何MDF
从特定目录检查所有未附加到 SQL Server 的文件。
您应该使用 powershell 进行自动化和备份还原,以确保迁移数据库。
对于 powershell,使用 dbatools -->
COPY-SQLDATABASE
或使用登录、作业等迁移整个服务器Start-SqlMigration
为什么不备份还原?分离和附加数据库文件以从一台服务器移动到另一台服务器不是推荐的方法!
您可以使用
Find-DbaOrphanedFile
找出孤立的数据库文件.mdf, .ldf and .ndf files
。我找到了我的问题的答案,以下脚本将列出所有 MDF 和 LDF 未附加到所有服务器上的实例(注意:我不声明此脚本的所有权,因为它是一个非常旧的脚本,所以必须进行小修改)
现在让我们使用 select 命令获取结果
最后,在我的工作完成后,我需要删除临时表
这是一个不需要 xp_cmdshell 的解决方案。
出于安全原因,我们不允许启用 xp_cmdshell。此脚本检查 SQL 当前具有数据库文件的每个目录,并检查这些目录中的孤儿。
如果您想查看特定目录中的所有 (.mdf) 详细信息,则必须启用“xp_cmdshell”。
假设您想查看位于“D:\”中的所有 (.mdf) 文件,然后执行此查询。
它将提供附加在您的特定 SQL Server 实例中的所有 (.mdf) 文件。