MDF 备份:“登录失败”错误

Isk*_*kra 2 sql-server backup sql-server-express

我正在使用 Visual Studio 创建一个 VC# 应用程序。启动时,它会打开一个 MDF 文件(SQL Server Express 数据库)。

当我执行

BACKUP DATABASE db.mdf TO DISK=backup.mdf
Run Code Online (Sandbox Code Playgroud)

我创建了 backup.mdf。

然后我执行以下操作:

  1. 关闭应用程序
  2. 删除 db.mdf
  3. 将 backup.mdf 重命名为 db.mdf
  4. 运行应用程序

我收到错误“用户‘PC\User’登录失败”

我该如何解决这个问题?

Alb*_*nez 7

SQL Server 中的备份不是这样工作的,它们不仅仅是另一个位置的数据库文件的副本,而是存储在备份文件中的数据库内容的备份,其结构与数据库文件不同(您可以只是一个数据库文件的备份,但即使在这种情况下,备份格式也会有所不同)。

要执行备份,最基本的方法是执行以下操作:

BACKUP DATABASE DBName TO DISK='C:\Backup directory\DB_backup.bak' WITH FORMAT
Run Code Online (Sandbox Code Playgroud)

SQL Server 不能直接使用备份文件,您需要先在数据库上恢复它(覆盖现有数据库或创建新数据库):

RESTORE DATABASE DBName FROM DISK='C:\Backup directory\DB_backup.bak' WITH REPLACE
Run Code Online (Sandbox Code Playgroud)

您可能需要额外的备份/恢复参数,具体取决于数据库属性和您正在执行的确切操作(您也可以从 SQL Server Management Studio 执行和恢复备份)