问题标签 [dbcc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
363 浏览

sql-server - 使用 DBCC CheckIdent 进行批量复制插入

我们的团队需要向我们的 SQL Server 2008 数据库中插入大量数据。我们正在寻找一个好的解决方案。现在我们想出了一个,但我对此表示怀疑,只是因为它感觉不对。所以我在这里问这是否是一个好的解决方案。额外的挑战是它是一个超过 4 台服务器的对等复制数据库!:)

假设我们有 100 万行要插入

  1. 开始交易
  2. 将表上的当前标识值增加 100 万
  3. 准备好包含 100 万行和正确 ID 的 DataSet/DataTable
  4. 将数据批量复制到数据库中
  5. 提交事务

这是一个好的解决方案吗,我们可能会遇到并发问题,交易量太大等等。

0 投票
6 回答
14532 浏览

sql-server - tsql 知道上次在数据库上运行 dbcc checkdb 的时间

使用 Tsql,我如何知道 DBCC checkdb 上次在 SQL 服务器上运行的时间(2000、2005 或 2008)?

问候

0 投票
1 回答
322 浏览

dbcc - DBCC SHRINKFILE 操作反而增加了数据使用量

首先,我知道最好不要收缩数据库。但在我们的情况下,我们不得不缩小数据文件以收回更多空间。

环境:SQL Server 2005 x64 SP3 Ent 在 Windows Server 2003 Enterprise x64 上运行。

数据库有一个单一的数据文件和一个日志文件。在我们运行 DBCC SHRINKFILE 之前,数据文件有 640GB,其中 400GB 是空闲的,所以数据大约是 240GB。为了加快收缩过程,我们必须先对数据库进行碎片整理,然后再收缩数据文件。

但是,我们使用 DBCC SHRINKFILE 收缩数据库数据文件后,数据变为 490GB。怎么会发生?

0 投票
5 回答
38662 浏览

sql-server - 在不添加/删除聚集索引的情况下减少 SQL Server 表碎片?

我有一个大型数据库(90GB 数据,70GB 索引),在过去的一年里一直在缓慢增长,增长/变化不仅导致了索引的大量内部碎片,还导致了表本身的大量内部碎片。

解决(大量)非常碎片化的索引很容易——REORGANIZE 或 REBUILD 会处理这个问题,这取决于它们的碎片程度——但我能找到的关于清理实际表碎片的唯一建议是添加一个聚集索引到桌子上。之后我会立即删除它,因为我不希望表上的聚集索引继续前进,但是在没有聚集索引的情况下还有另一种方法吗?执行此操作的“DBCC”命令?

谢谢你的帮助。

0 投票
1 回答
8390 浏览

sql-server - SQL Server:使用 DBCC SHRINKFILE 的潜在风险

通过在 SQL Server DB 中使用完全恢复模式,我们得到了一个巨大的 LDF 文件。所以我们打算缩小日志文件。

使用 DBCC SHRINKFILE 减小数据库日志文件大小 (LDF) 是否会降低性能?

以及如何将其应用于数据文件(MDF)?

0 投票
3 回答
1690 浏览

sql-server-2008 - SQL SERVER 2008 R2 DBCC PAGE PUZZLED

我做了一个关于 DBCC IND 和 DBCC page 的测试。引擎:SQL Server 2008

脚本:

--这显示:1 274 1 278 1307151702 0 1 72057594039107584 行内数据 1

显示:

数据:

插槽 0,偏移量 0x60,长度 51,DumpStyle BYTE

记录类型 = PRIMARY_RECORD 记录属性 = NULL_BITMAP VARIABLE_COLUMNS VERSIONING_INFO 记录大小 = 51 内存转储 @0x000000000F7EA060

0000000000000000 : 700000000000000 . 0000000000000030: 00000 ††††††††††††††††††††††††††††††††††††††††††...

偏移表:

行 - 偏移量 0 (0x0) - 96 (0x60) 我试着解释一下:

字节一 0x70 01110000

位 0:SQL 服务器 2005/2008

位 1-3:主要数据

位 4:有 NULL

位 5:有 VAR

位 6:未使用

位 7:不是幽灵

第二个字节

0x00:未使用

第三字节

0x0008 : 偏移量 8

固定长度 int ,我得到值1

然后下一个字节

0300 : 3 列

00:不为空

0002 :2 列

var column endoffset 0x001B(我得到值 aaa....)

var column end offset 0x0025(我得到值 bbbb ...)

但是,我不知道最后一个字节的含义....

请帮助我,谢谢

0 投票
2 回答
3972 浏览

sql-server - 我可以为某些指定的数据库而不是整个 sql server 清理缓冲区吗

据我所知,如果我执行“DBCC FREEPROCCACHE”和“DBCC DROPCLEANBUFFERS”,整个服务器的缓冲区将被清理。我想知道是否有办法只清理指定数据库的缓冲区。因此,对其他数据库的查询不会受到影响。

0 投票
1 回答
17033 浏览

sql-server - 如何从 MS SQL 2008 中的数据库 ID、文件 ID、页面 ID 获取表名?

我有死锁图,其中锁定资源由这三个字段 DB ID、文件 ID、页面 ID 提及。还有一些相关的objectid。我只想知道这个页面属于哪个表。我试过DBCC PAGE(dbid, fileid, pageid) with tableresults了,但没有显示任何表名。

知道如何得到这个吗?

更新:也试过SELECT name From sys.indexes WHERE object_id = 123 and Index_id = 456 这里 123 是m_objid(next ObjectId) 和 456 是m_indexid(next IndexId),我得到了DBCC Page命令的输出。我得到的只是NULL。

0 投票
1 回答
724 浏览

sql-server - sql server 数据库收缩命令出错

我正在从控制台应用程序执行这些命令

并得到这个错误

无法收缩 XXX 数据库 无法创建大小为 8126 的行,该行大于允许的最大行大小 8060。语句已终止。System.Data.SqlClient.SqlException (0x80131904):无法创建大小为 812 6 的行,该行大于允许的最大行大小 8060。

任何帮助将不胜感激。

0 投票
1 回答
155 浏览

sql-server - 为什么 SQL Server 中完全空的分区上存在行锁?

我用范围左函数制作了一个分区表。然后我将一些行插入到一个分区中。结果:

结果:

然后我更新该表的一些行并查询 sys.dm_tran_locks,然后我在 partition4 上找到一些 RID 锁,如下所示:

结果如下:

当我使用dbcc page验证页面 3:13 包含的内容时,我什么也得不到:

结果如下:

因此,dbcc 页面确认页面 3:13 中没有任何内容。我的问题来了,为什么文件 3:13 上存在 RID 锁而那里什么都不存在