将 SQL Server 数据库文件移动到新位置 - 为什么权限错误?

syd*_*ney 3 sql-server t-sql

我试图将数据库(.mdf.ldf文件)移动到托管 SQL 服务器的同一台服务器上的不同目录。我按照此问答中的以下步骤操作:

  1. ALTER DATABASE MyDB SET SINGLE_USER WITH ROLLBACK IMMEDIATE

  2. ALTER DATABASE MyDB SET OFFLINE

  3. ALTER DATABASE MyDB MODIFY FILE (Name = MyDB, Filename = 'N:\DATA\MyDB.MDF')

  4. ALTER DATABASE MyDB SET ONLINE

  5. ALTER DATABASE MyDB SET MULTI_USER

当我到达 Step4 时,我收到“拒绝访问”。不幸的是,我的维护窗口很短,没有时间进行故障排除。所以我决定删除数据库并使用WITH MOVE子句恢复它以将 DB 文件放在正确的目录中。没有任何问题。

我的问题是为什么我收到“拒绝访问”?我没有更改 MSSQL 服务帐户。这是运行RESTORE.

Han*_*non 8

ALTER DATABASE MyDB MODIFY FILE (Name = MyDB, Filename = 'N:\DATA\MyDB.MDF')语句实际上并未移动文件。它只是移动文件所在位置的定义。在继续执行步骤 4 之前,您需要实际手动移动文件。

在第 4 步之前移动文件时,必须确保目标目录对 SQL Serve 服务帐户具有正确的权限。 本文档详细说明了要求。