问题标签 [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.

0 投票
0 回答
72 浏览

sql-server - SQL Server 准备测试环境

我必须使用 SQL Server 2014 数据库准备测试环境。在 PROD DB 上有两个文件组 PRIMARY(可操作 - 50 GB)和 STROAGE(存档 - 1100 GB)。

在 TEST 环境中,我有 6 个月前的数据库副本,它没有 STORAGE 文件组,但当然 PRIMARY 存在。

我只需要 TEST PRIMARY 文件组。我已经从 PROD 备份:

在测试中恢复后

数据库仍处于恢复模式。

只复制一个文件组的最简单方法是什么,我只想要表中的实际数据。

0 投票
1 回答
756 浏览

sql-server - 如何删除主文件组的文件(SQL Server)

我有一个包含很多表的数据库,我在主文件组中创建了一个新文件,我还没有插入任何新数据,但是当我尝试删除这个新文件时,我收到了这个错误

无法删除文件“newfile”,因为它不是空的

我怎样才能删除这个文件?

0 投票
1 回答
64 浏览

sql-server - 在 SQL Server 中查找文件组选项的最后修改时间

我几乎到处搜索,但找不到解决方案。我正在寻找一种方法来查找用户最后一次更改 SQL Server 数据库中文件组的选项。例如,最后一次更改特定文件组的只读属性。

有什么办法吗?

谢谢 :)

0 投票
2 回答
345 浏览

sql-server - 数据库的部分克隆

我们目前正在将我们的 LIMS(实验室信息管理系统)从 Oracle 迁移到 MS-SQL,我在某个领域遇到了困难。我们运行三个独立的实例:生产、开发和测试。Prod 实例是实况实例,由实验室使用,dev 实例是我在开发新功能的地方,而测试实例是在部署到生产之前测试这些新功能的地方。在这种情况下,我会定期将生产数据库复制(使用备份/恢复)到其他两个实例,以便我使用与操作员相同的配置。但是,生产数据库包含大量我在开发/测试实例中不需要的存档数据,因此我没有将这些表包含在备份中——这为我节省了数十分钟的时间。Oracle 对此很有用,因为您可以指定要包含在备份中的表。但是,AFAIK 这在 MS-SQL 中是不可能的,但可以做的是将活动表和存档表放入不同的文件组中。然后可以单独备份这些文件。

我已经成功地创建了我的 PRIMARY 文件组的备份,但是我很难恢复它。有时命令完成但数据库仍然无法访问,我被告知恢复尚未完成 - 其他时候它只是拒绝执行命令。这似乎与事务日志有关,但这扩展了我的知识。

我正在使用的备份命令是: BACKUP DATABASE production FILEGROUP='PRIMARY' TO DISK='C:\Temp\db.bak' WITH FORMAT,COPY_ONLY

我正在尝试的还原命令是: RESTORE DATABASE development FROM DISK='C:\Temp\db.bak' WITH REPLACE,NORECOVERY它告诉我“备份集包含一个数据库的备份,而不是现有的‘开发’数据库”。

目前源和目标在 SQL Server 的同一个实例中,但将来它们将在完全不同的机器上,可能没有直接连接(所以我必须通过某种类型的文件传输)。两者都配置了完全恢复。

我发现了一些类似的问题,但它们并没有真正帮助我。这是创建我的生产数据库的部分克隆的合理方法吗?如何让我的恢复命令按我的需要工作?

0 投票
1 回答
486 浏览

sql-server - SQL - 如何在多个键上创建分区

我们在表模式中有以下两列。

  1. 客户 ID INT
  2. 交易日期

目前,该表是基于 TransactionDate 进行分区的。但我们也想对 ClientID 和 TransactionDate 进行分区。在 SQL Server 2016 中是否可能?

如果没有,那么我们可以根据 ClientID 将数据插入到该表中的不同文件组中。(我们将通过 clientid 创建不同的文件组。我们在数据库中固定了 5 个 clientid)

0 投票
1 回答
117 浏览

sql-server - SQL 恢复 - 分区表(文件组) - 每个在单独的磁盘上(和一个磁盘崩溃)

对于大型表,我正在考虑使用文件组进行分区的概念,并将每个文件组放在单独的磁盘上。我的问题是——

  1. 如果其中一个文件组磁盘崩溃,那么这个事件是否应该被视为数据库崩溃?它会导致数据库停止工作吗?
  2. 恢复操作(假设进行了完整备份)是否会按照崩溃前的配置自动创建文件组?
0 投票
1 回答
33 浏览

sql-server - 如何处理 SQL Server 中的记录瓜

在 SQL 服务器中,每次我得到文件组已满,执行超时。如何释放SQL 数据库中的一些空间。

System.Data.SqlClient.SqlException:超时已过期。在操作完成之前超时时间已过或服务器没有响应。在 System.Data.SqlClient.SqlConnection.OnError(SqlException 异常,布尔 breakConnection) 在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException 异常,布尔 breakConnection) 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) 在 System .Data.SqlClient.TdsParser.Run(RunBehavior runBehavior,SqlCommand cmdHandler,SqlDataReader dataStream,BulkCopySimpleResultSet bulkCopyHandler,TdsParserStateObject stateObj)

0 投票
1 回答
240 浏览

sql-server - 在 SQL Server 中创建索引时如何动态附加文件组?

我必须将一些表从主文件组移动到默认的主组。我有 3 个不同的环境,每个环境中默认文件组的名称都不同。因此,我可以将默认文件组名称获取为:

现在,在重新创建索引时,我想使用上述查询的输出来指定要在其中创建索引的文件组(因为默认文件组在不同的环境中具有不同的名称,因此,我只想提升一个查询) . 我试过:

但我面临以下错误:

消息 1921,级别 16,状态 1,第 19 行无效的文件组“从 is_default=1 的 sys.filegroups 中选择名称”指定。

任何帮助都感激不尽。

0 投票
1 回答
50 浏览

sql-server - 如何将普通表上的现有索引移动到内存优化文件组?

如何将普通表上的现有索引移动到 sql server 中的内存优化文件组?

0 投票
0 回答
168 浏览

sql-server - 如何在不删除表、分区方案和分区函数的情况下,在 SQL Server 中的分区表的下端和末尾添加空文件组?

我有一张桌子叫dbo.Audit. 我最初有像 2030 年的文件组。fgAudit2012我的分区函数的名称是,分区方案的名称是. 每个文件组(每年)有 12 个分区(每月),如下面的屏幕截图所示。用于分区的列的名称是数据类型INT并将保存datekey值。fgAudit2013fgAudit20302012pfMonthlypsMonthlyActionDateID

我决定在表中再添加三个文件组。一个用于 2011 年,一个空文件组用于早于 2011 年的所有年份,一个用于所有晚于 2030 年的年份。

我做的第一件事是创建一个名为的文件组fgAudit2011并向其添加文件fileAudit2011。我通过使用在分区的前面添加了这个文件组

我在十二个月内重复了十二次。结果如下面的屏幕截图所示。

现在最底部的分区指向错误的文件组 ftAudit2012。如何在两端添加两个空分区?文件组 fgAuditbefore2011 应该在前面,fgAuditAfter2030 应该在最后。如何在不删除和重新创建表或删除和重新创建分区函数和分区方案的情况下做到这一点?

在此处输入图像描述