问题标签 [filegroup]
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.
sql-server - 单列大表(2.5 B 行)。聚集索引与聚集列存储索引
我们有一个巨大的表 Table1(25 亿行),单列 A(NVARCHAR(255)数据类型)。针对此表进行查找操作的正确方法是什么。A 上的聚集索引与 A 上的聚集列存储索引。
我们已经将此表保存在与另一个表 Table2 不同的文件组中,它将与之连接。
您是否建议对该表进行分区以获得更好的性能?此列也将包含 unicode 数据。那么,什么样的分区方法适合 unicode 数据类型呢?
更新:为了进一步澄清,该表的用例是 SEEK。该表存储个人的标识符。这里主要关注的是在大表的情况下 SEEK 的性能。该表将在事务中引用。我们希望交易简短。
sql-server - SQL Server 性能中的分布式文件和命名文件组
创建数据库时我有 2 个选项,这些数据库的第一要务是性能。
选项 1:在 1 个文件组上的多个驱动器上分布文件。因此,所有文件都由 SQL 服务器管理,因此从空间角度使用和管理硬盘驱动器,但作为 DBA,我们对存储表(以及所有相关索引)的驱动器的控制为零。
选项 2:将数据库主动分区到指定硬盘驱动器的命名文件组。
这个问题的一个很好的假设是,我们所有的磁盘在速度和性能上都是相同的,并且我们的 SAN 控制器具有足够的质量,不会成为我们在这种情况下的瓶颈。
还假设我们有一个“良好”的 tempDB 设置,其中我们在服务器的本地 SSD 上有正确的文件分区。
第二个选项为我们提供了控制权,我们可以将大型表的索引放在不同的硬盘上。这控制了我们对高强度任务的读写过程,并允许我们从两个磁盘读取并写入第三个磁盘。
所以我的问题是分布式文件(SQL 托管)如何针对命名文件组执行,其中磁盘读写是硬件配置中的限制因素。
sql-server - sql server 中的文件组没有将我插入的记录映射到正确的文件
如您所见,我创建了此文件组:
创建数据库 AdventureWorksDW
使用这些文件:
使用这些分区函数和架构:
最后我创建了我的表:
我在我的表中插入了 1000000 条 asl=1 的记录,但是当我运行这个查询时:
它为所有分区返回 1000000 条记录我的意思是 1 返回 1000000 和 2 返回 1000000 和...为什么?
sql - SQL Server:批量插入数据加载到具有多个文件组的分区表
我正在尝试加载一系列 CSV 文件,大小从 100MB 到 20GB(总计约 3TB)。因此,我需要尽我所能增强性能。我的目标是使用文件分组和分区作为一种手段。我进行了一系列测试以查看最佳方法。
首先,我尝试了各种文件组组合;我得到的最好的结果是当我加载到 1 个文件组上的表中时;分配了多个文件,并且它们都位于一张光盘上。这种组合优于我有多个文件组的情况。
下一步自然是进行分区。奇怪的是,我检查过的所有分区组合的性能都较低。我尝试定义各种分区功能/方案和各种文件组组合。但都显示出较低的加载速度。
我想知道我在这里错过了什么!?
到目前为止,我设法在 3 分钟内加载(使用批量插入)一个 1GB 的 csv 文件。任何想法都非常感谢。
sql-server - 从数据库中删除文件组和文件
这是我的数据库结构:
- 4 个文件组:PRIMARY、FileGroup201708、FileGroup201709、FileGroup201710
- 4 个文件:File1.mdf、File201708.ndf、File201709.ndf、File201710.ndf
这是分区方案和功能:
数据库中的所有表都是分区的。
好吧,我决定删除 201708 期间的所有数据,首先我执行:
对于所有表。此操作后,表中没有任何分区数据。
上面的查询给了我特定文件组的 0 行。
现在我想删除文件和文件组,当我尝试删除文件时没有问题,但是当我尝试删除文件组时,我从 SQL Server 收到错误消息:
无法删除文件组“FileGroup201708”,因为它不为空
我使用此查询检查了该文件组中是否有一些索引:
但是所有行都在“FileGroup”列中,PRIMARY 文件组。谁能给点建议?
sql-server - 将文件组还原到不同的数据库
我有一个带有 5 个文件组的 SQL 服务器数据库,我只想备份 2 个文件组(一个包含文件流)并将它们恢复到不同的现有数据库。
sql-server - 我们可以将单个数据库的文件组分布在多个服务器上吗?
我们需要将其中一个数据库的文件组分布在多台服务器上。你能告诉我这是否可能吗?如果可以,我们该怎么做?
我们使用的是 SQL server 2012 标准版
sql-server - 将文件组移动到不同的数据库
是否可以将 SQL Server 文件组从一个数据库移动到同一服务器上的另一个数据库?
如果没有,是否有任何解决方法?
sql-server - 触发器中不允许使用 ALTER DATABASE 语句
当用户想要向表中插入数据时,我想动态创建文件组,但 SQL Server 抛出异常。
我知道我可以使用 SQL Server 代理来处理这个问题,但如果我的方法不正确,请告诉我正确的方法。
亲切的问候。
结果:
消息 287,级别 16,状态 2,过程 AuditTrigger,第 24 行
触发器中不允许使用 ALTER DATABASE 语句。