【问题标题】:restoring database sql server恢复数据库sql server
【发布时间】:2015-11-27 14:02:43
【问题描述】:

我在从 .bak 文件恢复数据库时遇到问题。如果我使用 sql 查询行,我会找到数据库但其中没有表,如果我使用具有相同文件和默认配置的还原向导,我将获得我的数据库和我的表。我认为我在这个查询中遗漏了一些东西:

第一次查询

RESTORE DATABASE ColisageTest
      FROM  DISK = 'e:\colisageTest.bak'

第二次查询

RESTORE DATABASE ColisageTest
  FROM  DISK = 'e:\colisageTest.bak'
  WITH REPLACE,
 MOVE 'ColisageTest' TO 'C:\Program Files (x86)\Microsoft SQL Server\MSSQL12.COLISAGE\MSSQL\DATA\ColisageTest.mdf',
 MOVE 'ColisageTest_log' TO 'C:\Program Files (x86)\Microsoft SQL Server\MSSQL12.COLISAGE\MSSQL\DATA\ColisageTest_log.ldf'
GO

第三次查询

RESTORE DATABASE ColisageTest
  FROM  DISK = 'e:\colisageTest.bak'
  with RECOVERY;
GO

没有人在工作,只是恢复了我的数据库,但没有表

【问题讨论】:

    标签: sql-server database restore


    【解决方案1】:

    您确定表中的数据库不为空吗? 对此进行测试的一种方法是制作另一个 .bak 文件(您知道该文件有表)并尝试恢复它以进行验证。

    空表没问题我是说你可能有一个空数据库,即那里根本没有表。

    【讨论】:

    • 这可能会被标记为评论,而不是答案。
    • 是的,表是空的,空表有什么问题吗?
    • 我发现如果我添加到我的查询 with file=1; 它会正常工作,但第一个是你做了多少次备份的计数,所以我需要找到一个解决方案来获得多少当我做备份时,我现在只知道这个查询RESTORE HEADERONLY FROM DISK = N'e:\colisageTest.bak 的计数为我提供了将其用作with file=1; 的参数的确切整数,但我不知道如何将结果从查询传输到另一个
    猜你喜欢
    • 2021-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多