SAi*_*nCA 5 sql-server columnstore dbcc-checkdb sql-server-2014
将客户的 SQL 2014 EE DB 恢复到我们的 Developer Edition 实例,没有问题,然后运行一个DBCC CHECKDB发现零错误的聚集列存储索引,声称超过 10 亿行,一个简单的SELECT TOP 1 FROM TheBaseTable没有返回任何数据 - 使用 3845 运行了 6m 38s读取、155 次物理读取和超过 400K 毫秒的 CPU,因此它看起来像是在做某事。
奇怪的是,恢复时兼容模式是 2008。将其更改为 120 并将页面验证更改为CHECKSUM.
修复了 SQL 登录 SID(只有 1 个孤立)。登录具有db_owner、db_accessadmin和db_securityadmin角色成员资格,因此它似乎并不缺乏特权,但它现在还具有db_datareader和db_datawriter成员资格。
跑sp_updatestats是因为 DMV 显示行但SELECT语句返回零。
客户端是否有可能将兼容性设置为 2008 年,并且存在 CCSI 弄乱了元数据?
请问有人听说过这样的吗?
关于如何查看数据的任何想法?
这是桌子 - 我看不出有什么可疑之处......
CREATE TABLE dbo.tbl_HistoryByType(
InventoryID int NOT NULL,
SalesTypeID int NOT NULL,
ReturnFlag bit NOT NULL,
SalesDate datetime NOT NULL,
SeasonID int NULL,
SalesQuantity float NOT NULL,
TotalRevenue float NOT NULL,
TotalCost float NOT NULL,
TotalOriginalRetail int NULL
) ON [PRIMARY]
GO
CREATE CLUSTERED COLUMNSTORE INDEX CCSIX_tbl_HistoryByType ON dbo.tbl_HistoryByType WITH (DROP_EXISTING = OFF, DATA_COMPRESSION = COLUMNSTORE) ON [PRIMARY]
GO
Run Code Online (Sandbox Code Playgroud)
希望有人能伸出援手,因为我在 SQL Server 上 10 多年来从未见过这样的事情......!
我完全不知道为什么将兼容性设置为 2008,尤其是当我们要评估 DB 代码和性能时。
Microsoft SQL Server 2014 - 12.0.4416.0 (X64)
2015 年 6 月 11 日 19:18:41
版权所有 (c)
Windows NT 6.1 上的Microsoft Corporation开发人员版(64 位)(内部版本 7601:Service Pack 1)(管理程序)
可悲的是,可以这么说,原来的系统是在铁栏杆后面。我会询问任何类型的仅限选择的访问。奇怪的是,我跑了一个ALTER TABLE...REBUILD,然后DBCC CHECKTABLE得分为零。10 亿+“消失” 也会考虑应用最新的 CU - 该服务器是大量共享的,因此必须对其进行调度。