标签: datafile

如何从 SQL Server 日志文件驱动器崩溃中恢复?

假设数据文件位于 D: 且日志文件位于 E:

假设 E 驱动器崩溃并且日志文件 (.ldf) 丢失。我将一个新的空磁盘附加到 E: 并启动 sql server。

启动时,SQL Server 将意识到 .mdf 文件存在,但日志文件不存在。由于丢失日志文件,SQL Server 将无法执行任何撤消/重做恢复步骤,并将数据库置于可疑位置。

注意:我尝试了此操作并注意到数据库进入可疑模式。这里的最佳实践是使用备份(完整+tlog)来恢复数据库。在我的情况下,我有上午 12 点的完整备份,但没有 tlog 备份。如果我从凌晨 12 点的备份中恢复,那么我会丢失一整天的数据(假设崩溃发生在中午)。我正在尝试思考如何利用现有的数据文件来处理这种情况。

  1. 这种情况下如何恢复数据库呢?
  2. 说数据丢失仅是那些位于 tlog 文件中但未写入磁盘的事务是正确的吗?

sql-server transaction-log datafile sql-server-2019

4
推荐指数
1
解决办法
1376
查看次数

Oracle 数据文件扩展名 .dat 或 .dbf

我已经看到这 2 个扩展用于数据文件,.dat并且.dbf在创建和/或更改tablespace. 我不确定这两个扩展之间的区别是什么,或者是否.dat不正确。

以下是Oracle 数据库 SQL 参考 10g 第 2 版 (10.2)中的 2 个示例

.dat

CREATE TABLESPACE tbs_01 
   DATAFILE 'tbs_f2.dat' SIZE 40M 
   ONLINE;
Run Code Online (Sandbox Code Playgroud)

.dbf

CREATE TABLESPACE tbs_03 
   DATAFILE 'tbs_f03.dbf' SIZE 20M
   LOGGING;
Run Code Online (Sandbox Code Playgroud)

oracle datafile

3
推荐指数
2
解决办法
6772
查看次数

Tempdb 数据文件消失

我最近将临时数据库文件移到了一个单独的驱动器上(我有两个数据文件和一个日志文件)。

但是,重新启动服务器后,我的第二个数据文件从 gui 上的文件列表和 sp_helpfile 中都消失了。我设法多次重现此行为:我添加了一个新数据文件,看到它同时出现在 gui 和 sp_helpfile 中,并在重新启动服务器后消失。

dbcc checkdb对数据库运行过,它没有返回任何错误。SQL 日志或 Windows 应用程序事件日志中都没有信息。

在做了更多研究之后,我运行了以下查询:

select d.name, m.* from sys.master_files m
inner join sys.databases d 
on (m.database_id = d.database_id)
where d.name like 'tempdb'
order by 1, 2
Run Code Online (Sandbox Code Playgroud)

结果:http : //pastebin.com/Zu5fJ2hU

它显示了四个不同的辅助数据文件,其中没有一个出现在 sp_helpfile 中。如果我尝试使用 SQL Server 不允许使用的任何名称。这些文件都不存在于磁盘上。我的服务器是 SQL 2012 标准版。

sql-server sql-server-2012 tempdb datafile

3
推荐指数
1
解决办法
1858
查看次数

使用空间的差异

在查看 SQL Server 中数据文件使用的空间时,SQL 报告的内容与 Windows 之间存在很大差异。

这怎么解释?

SQL 视窗

sql-server-2008 sql-server datafile windows-server

3
推荐指数
1
解决办法
743
查看次数

多个 dbf 文件比一个更好吗?

将大型数据库分布在多个 dbf 文件上是否比在单个文件上分布更好?

oracle oracle-10g datafile

2
推荐指数
1
解决办法
2474
查看次数

MongoDB dbpath 中的 extsort.* (8 - 11 MB) 是什么?目录_tmp

我从未在我的书中看到过这一点,dbpath也没有在搜索引擎中找到任何解释。

我们运行 MongoDB 3.2.8

# ls -alh; pwd
total 151M
drwxr-xr-x. 2 mongod mongod 4.0K Sep 12 22:18 .
drwxr-xr-x. 6 mongod mongod  12K Sep 12 22:16 ..
-rw-r--r--. 1 mongod mongod 8.0M Sep 12 21:54 extsort.0
-rw-r--r--. 1 mongod mongod  10M Sep 12 21:54 extsort.1
-rw-r--r--. 1 mongod mongod 7.9M Sep 12 22:02 extsort.10
-rw-r--r--. 1 mongod mongod 7.9M Sep 12 22:07 extsort.11
-rw-r--r--. 1 mongod mongod 9.9M Sep 12 22:07 extsort.12
-rw-r--r--. 1 mongod mongod 7.9M …
Run Code Online (Sandbox Code Playgroud)

mongodb datafile mongodb-3.2

2
推荐指数
1
解决办法
356
查看次数

数据库如何格式化磁盘文件

这个 SO 答案概述了 MySQL 如何将其数据库组织成文件,但没有描述文件本身的结构。

我想知道,在物理层面,关系数据库管理系统如何将它们的记录存储在文件中。文件的大致结构是什么,列/值在哪里(如果它只是一个 CSV),以及它是如何遍历的。

postgresql storage disk-structures datafile

2
推荐指数
1
解决办法
73
查看次数

如何为 DB2 数据库设置文件系统大小限制?是否可以?

我正在寻找一种在创建时限制 DB2 数据库大小(在磁盘中)的方法。但我找不到。

在 SQL Server 上,我们可以这样做:

Create Database MyDatabase
on (Name='MyDatabase_Data',
    Filename='c:\db\BdUnisanta_Data.mdf',
    Size= 20MB,
    FileGrowth = 10%,
    Maxsize=100MB)
log on 
    (Name = 'MyDatabase_log',
     Filename = 'c:\db\MyDatabase_Log.ldf',
     Size = 5MB,
     FileGrowth = 5%,
     MAXSIZE = UNLIMITED
     ) 
Run Code Online (Sandbox Code Playgroud)

DB2 中的等效形式是什么?是否可以?

db2 datafile db2-luw

1
推荐指数
1
解决办法
305
查看次数

将 Postgres 服务器从 Windows 迁移到 Linux

简单的问题:我想将 Postgres 服务器的所有数据、模式、角色以及所有内容从 Windows 迁移到 Linux。

%PGDATA%我可以只复制Windows 中服务器指向 Linux 的目录内容,然后启动服务器,将 PGDATA 参数/变量指向该目录吗?换句话说,数据文件平台是否独立,使得从一个操作系统移植到另一个操作系统只需复制?

我还开发了一个用于克隆 PG 数据库、架构+数据的脚本,但由于多种原因,我更愿意将数据文件放在 USB 驱动器上并完成它。

postgresql replication datafile

1
推荐指数
1
解决办法
3070
查看次数

SQL Server 上 .ndf 文件的上次修改日期错误

我有 SQL Server 数据库,我们有很多表。为了提高性能,我为索引创建了不同的文件组,其中包含不同磁盘上的文件。我今天在不同的文件组中创建了新索引。但是,我仍然看到文件的最后修改日期为过去 1 个月。我检查了文件名,但我担心 SQL Server 没有设置文件的上次修改日期。新索引工作正常,但文件仍然没有向我显示最近的修改日期。

好的,我刚刚学到了一些新东西,SQL Server 的数据目录中的任何文件都没有显示上次修改日期到最近日期,而我的数据库也在不断更新。所有日期均为 1 个月大。服务器的系统时钟正确。

sql-server windows datafile

-9
推荐指数
2
解决办法
2612
查看次数