我可以简单地将 mdf 和日志文件复制到数据文件夹中以添加新数据库吗?

ptf*_*ptf 0 sql-server ssms

我有一个数据库的 mdf 和日志文件的副本。该数据库是 MSSQL 2012 数据库。为了使用它,我执行了以下步骤(实际上有点偶然,因为我试图首先从数据目录中复制一个 mdf 和日志文件,并且在服务器使用它们时它不会让我使用它们):

  1. 我在 Windows 中停止了 MSSQL 服务器进程
  2. 将它们复制到DATA目录中。
  3. 然后我再次启动了 MSSQL 服务器进程。

在SQL server management studio中,出现了新的数据库。我想我可能需要附加它。

MSSQL 服务器是否会自动附加数据目录中的所有 mdf?我担心它不能正常工作,即使它看起来像它。

Kin*_*hah 5

MSSQL 服务器是否会自动附加数据目录中的所有 mdf?

不,它不会自动附加新的 mdf 和 ldf。

与其摆弄停止 sql 服务并复制 mdf 和 ldf 文件,我建议您查看备份和恢复命令。

backup database foo 
to disk = 'd:\backup\foo_full.bak' 
with init, stats =10, compression
Run Code Online (Sandbox Code Playgroud)

-- 现在通过移动和恢复恢复数据库

restore database foo 
from disk = 'd:\backup\foo_full.bak' -- backup location
with recovery, stats =10,
move 'logicalName' to 'M:\data\foo.mdf', -- mdf location
move 'logicalName_log' to 'L:\log\foo_log.ldf' -- ldf location
Run Code Online (Sandbox Code Playgroud)