小编sql*_*wan的帖子

如何为 SQL Server 可用性组中的数据库回收文件流数据文件中的空间

我有一个 SQL 2016 Ent。具有 3 个节点的 AG 版。我们在 AG 中有一个包含 5 个文件流表的数据库。每个表都在它自己的文件流数据文件中。今天我修复了一个错误,即通过重建索引将所有文件保存到一个文件流数据文件中。

在 dev 中,我们没有 AG,数据库处于简单恢复中。空间被收回了。之前和之后看起来像这样:

在此处输入图片说明

当我在 AG 中运行相同的代码时,所有节点都如下所示: 在此处输入图片说明

文件已移至正确的文件流数据文件,但未从原始数据文件中恢复空间。

一开始我还以为是车库收藏,看了Paul Randal的博文。我缩小了日志文件,然后创建了一个垃圾表,通过显式转换添加了大量行,运行了日志备份和检查点,所有这些都在主节点上。日志文件确实增长了,之前活动的 VLF 被标记为不活动。

更复杂的是,备份是辅助节点上的完全复制\日志备份。

在这种情况下回收空间的正确方法是什么?

编辑:按照安迪在他博客中的步骤后,空间被收回。每个 AG 节点看起来像:

reclaimed_filestream_file_space

backup filestream availability-groups sql-server-2016

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

SQL Server 表和视图显示不同的值

我有一个从显示不同数据的表中选择数据的视图。

表是dbo.user,视图是dbo.users(不要判断,我继承了这个系统)。观点很简单select * from table

如果我运行以下语句:

SELECT Field1, Field2 FROM dbo.[User] WITH (NOLOCK) ORDER BY Field1;

SELECT Field1, Field2 FROM dbo.Users WITH (NOLOCK) ORDER BY Field1;
Run Code Online (Sandbox Code Playgroud)

我为其中一个字段获得了不同的值。见附图:

在此处输入图片说明

任何想法这是如何发生的?该表是聚集的,具有 pk 和唯一索引。

sql-server t-sql view

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