我做了一个全新的 SQL Server 2014 安装。接下来,我想从以前的 SQL Server 2012 服务器附加一些数据库。我将所有mdf
和ldf
文件复制到数据目录,但是当我尝试附加它们时,我收到以下错误消息:
CREATE FILE
在尝试打开或创建物理文件
“D:\SQLSERVERDATA\MSSQL12.BIDEV\MSSQL\DATA\controlling_demo.mdf”时遇到操作系统错误 5(访问被拒绝)。
(Microsoft SQL Server,错误:5123)
当我检查文件安全设置(右键单击文件、属性、安全)时,它说我没有读取权限。我用来复制文件的帐户在管理员组中。我可以完全控制DATA
文件夹,但是,只有我复制到那里的文件受到限制。
当我尝试对整个文件夹重新应用安全权限时,它说:
无法枚举容器中的对象。访问被拒绝。
当我将文件复制到其他地方时,我拥有访问权限。
问题是,如何获得文件DATA
夹中这些文件的访问权限?
我正在寻求帮助以了解执行以下命令行时会发生什么:
root@prodn$ service mysqld stop
Run Code Online (Sandbox Code Playgroud)
是的,它会关闭 MySQL 服务器,因此在服务再次启动之前无法再访问它。但是,更具体地说,服务停止时是否还会发生其他情况?请原谅我的新手,但是当mysqld重新启动时,是否意味着日志已刷新、一些内存已释放、缓存已清空等?
我问的原因如下:
我们的数据仓库 DB 是 MySQL DB,在过去的 4 个月中,平均需要 8.5 小时。
上周三,我已经停止了 mysql 服务,然后在 30 分钟后重新启动了它。从那时起,我开始注意到整体性能的巨大改进——SELECT/INSERT/UPDATE/DELETE 过程更加高效。DW 以相同数量的数据行提前近 4 小时完成
然而,随着时间的流逝,15-20 分钟不知何故被添加到完成时间。所以,我怀疑我可能必须每周重新启动服务。
这种行为有解释吗?我不知道还有哪些其他问题是相关的,但是知道mysqld
服务重新启动时会发生什么会很棒。
任何人都可以对此有所了解吗?
服务器“servername”的还原失败。(Microsoft.SqlServer.SmoExtended)
System.Data.SqlClient.SqlError: RESTORE 无法启动数据库“ECP”。(Microsoft.SqlServer.Smo)
数据库已创建,但无法使用对象资源管理器访问:
数据库 ECP 不可访问。(对象浏览器)
感谢您提供有关如何使数据库正常工作的任何建议。
编辑:此查询
select state_desc from sys.databases where name = 'ECP';
Run Code Online (Sandbox Code Playgroud)
返回RECOVERY_PENDING
。
我再次删除了数据库并进行了新的尝试
restore verifyonly from disk = 'path\file';
Run Code Online (Sandbox Code Playgroud)
这返回
尝试恢复此备份可能会遇到存储空间问题。后续消息将提供详细信息。
“F:\ECPDATA1\ECPDATA1.mdf”指定的路径不在有效目录中。
文件“F:\ECPDATA2\ECPDATA2.ndf”的目录查找失败,出现操作系统错误 3(无法检索此错误的文本。原因:15100)。
文件“F:\ECPDATA3\ECPDATA3.ndf”的目录查找失败,出现操作系统错误 3(无法检索此错误的文本。原因:15105)。 文件“E:\ECPLOG1\ECPLOG1.ldf”的目录查找失败,出现操作系统错误 21(无法检索此错误的文本。原因:15105)。 文件 1 上的备份集有效。
文件“F:\ECPDATA4\ECPDATA4.ndf”的目录查找失败,出现操作系统错误 3(无法检索此错误的文本。原因:15105)。
既然它说备份集是有效的,我只需要获取指定的文件,使其工作,对吗?但是在这台服务器上我没有驱动器E:
或F:
. 如何在备份文件中调整它?或者是否有可能(我对 windows-server-2008-r2 不太熟悉)在 linux 上有某种符号链接?
sql-server ×2
backup ×1
installation ×1
migration ×1
myisam ×1
mysql ×1
performance ×1
permissions ×1
restore ×1
shutdown ×1