AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 47304
Accepted
Sean Long
Sean Long
Asked: 2013-07-31 11:00:25 +0800 CST2013-07-31 11:00:25 +0800 CST 2013-07-31 11:00:25 +0800 CST

.bak 文件在 SSMS 的任何目录中都不可见

  • 772

我今天有一个由其他人创建的 .bak 文件,通过 SSMS 2008 R2 手动创建。我正在尝试手动恢复数据库,不幸的是,当我浏览它时该文件没有出现。

我可以编写恢复过程的脚本,但我以前见过这个问题,我不确定是什么导致 .bak 不出现。

sql-server backup
  • 7 7 个回答
  • 92965 Views

7 个回答

  • Voted
  1. Best Answer
    AdamsTips
    2014-12-13T15:02:14+08:002014-12-13T15:02:14+08:00

    我们今天遇到了同样的问题。事实证明这是一个权限问题,如其他一些答案所示。不同的是,我们需要添加的帐户是NT SERVICE\MSSQLSERVER.

    截屏

    我通过将默认 SQL 备份文件夹权限与包含备份文件的文件夹的权限进行比较来识别帐户。

    添加服务帐户并不像听起来那么简单。这对我有用。(服务器 2012 R2)

    1. 登录到服务器。(必须在实际服务器上进行更改,而不是通过网络共享。)
    2. 将位置更改为本地服务器名称。
    3. 在NT SERVICE\MSSQLSERVER名称框中输入。(不要单击检查名称)
    4. 单击确定。然后,您将看到匹配服务帐户的列表。选择 MSSQLSERVER,然后单击 OK 接受选择。

    在此处输入图像描述

    在此处输入图像描述

    您应该会看到安全设置中列出的服务帐户,并且可以相应地调整权限。

    添加权限后(我添加了完全控制,以匹配默认的 SQL 备份文件夹。)并重新启动 SQL Server 管理控制台,我能够选择并恢复我的备份文件。

    • 54
  2. user27816
    2013-09-05T00:04:50+08:002013-09-05T00:04:50+08:00

    我今天得到了这个。

    我关闭了文件共享、索引并清除了所有打开的会话(人们登录以复制备份),但问题并没有消失。

    转到 Windows 资源管理器,将备份复制到另一个文件夹并通过 Management Studio 浏览到该文件夹​​,我可以在那里看到它。

    删除原始文件夹并重新创建它,再次复制内容并浏览到.bak文件并恢复正常。

    希望这可以帮助某人。

    • 17
  3. Jackofall
    2014-10-10T00:17:19+08:002014-10-10T00:17:19+08:00

    我遇到过几次这个问题。问题不在于 SQL Server,而在于文件夹的 Windows 权限。您必须向复制 .bak 文件的文件夹添加适当的权限(我认为System Network角色)。

    更简单的解决方案是将文件移动到 Program Files 中的默认备份文件夹。它拥有所有必要的许可。对于 SQL Server 2012,它是

    D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup
    
    • 11
  4. Scorpion
    2014-05-28T05:41:30+08:002014-05-28T05:41:30+08:00

    我今天也遇到了同样的问题。我得到了一个要恢复的备份文件,但在浏览时我看不到它。但是,我能够访问文件系统,但在还原向导中使用SQL Server management Studio.

    花了一些后,我发现这是权限问题。SQL Server 服务正在运行,Network Service但Network Service帐户没有访问该文件夹的权限。授予权限后Network Service。备份文件可见以恢复。

    详情请通过博客查看。

    • 3
  5. Aaron Bertrand
    2013-07-31T11:08:08+08:002013-07-31T11:08:08+08:00

    如果您可以在 Windows 资源管理器中找到它,那么您应该编写一个RESTORE DATABASE命令,而不是依靠笨重的 GUI 来为您找到它。谁知道那里正在发生什么代码以及为什么它可能无法找到该文件 - 抱歉,我只有一个解决方法而不是解决方案。

    还要确保该文件实际上是 something.bak 而不是 something.bak.txt (Windows 可能“有用地”向您隐藏扩展名。我讨厌这种默认行为。)

    • 2
  6. Head of Catering
    2018-10-24T19:57:54+08:002018-10-24T19:57:54+08:00

    今天在我的开发盒上发生了这种情况。在我的情况下,服务帐户有权访问该文件夹,但我的用户帐户没有。一旦我授予我的帐户对该文件夹的权限,我就可以看到 .BAK 文件。

    • 2
  7. tinker
    2021-10-05T21:05:51+08:002021-10-05T21:05:51+08:00

    就我而言,我不小心连接到了错误的服务器,显然我在那里找不到备份文件....

    错误的服务器主机名仅相差一个字母,这是必然会发生的错误。最好使用“。”连接。或“localhost”而不是完整的服务器主机名,如果您已经通过服务器上的 RDP 登录。

    在此处输入图像描述

    事后看来,尝试使用命令行而不是 SSMS GUI。这会给你一个明确的错误“找不到文件”。这排除了权限问题。

    USE [master];
    GO
    BACKUP DATABASE [AdventureWorks2019]
     TO DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL2K17\MSSQL\Backup\AdventureWorks2019.bak'
        WITH COMPRESSION;
    GO
    

    希望这可以帮助!

    • -1

相关问题

  • 我需要为每种类型的查询使用单独的索引,还是一个多列索引可以工作?

  • Oracle 中的数据库备份 - 导出数据库还是使用其他工具?

  • 什么时候应该使用唯一约束而不是唯一索引?

  • 死锁的主要原因是什么,可以预防吗?

  • 如何确定是否需要或需要索引

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    授予用户对所有表的访问权限

    • 5 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    pedrosanta 使用 psql 列出数据库权限 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve