小编Dav*_*och的帖子

使用 SQL Server FILESTREAM 时保持(部分)备份较小

我有一个包含近 1TBFILESTREAM数据的数据库,我不需要备份(如果数据被删除,它会在几个小时内自动重新创建,所以它并不重要)。大多数数据每隔几天就会更改一次,因此差异备份并不能真正帮助减小大小。

通过将恢复模式设置为Full,创建一个单独FILEGROUPFILESTREAM,然后只备份“主要”,我让备份按照我需要的方式工作FILEGROUP。这导致的问题是日志文件(也被备份)现在不必要地大,因为它包含FILESTREAM数据。

SIMPLE恢复模式剥夺了我对特定FILEGROUPs进行备份的能力,所以我认为这也不是一种选择。

我的想法是将FILESTREAM数据移动到一个单独的数据库,但现在我正在失去参照完整性,并且肯定还会继承许多其他问题。

有没有办法在Simple恢复模式下创建部分备份(不将FILESTREAM表设置为只读)?如果没有,我的问题还有其他合理的解决方案吗?

sql-server backup transaction-log filestream sql-server-2014

12
推荐指数
1
解决办法
1230
查看次数

仅在列 > 0 时限制“重复”

我有一个表,其中一fk列应该是唯一的,当另一int列是> 0. 如果这句话没有意义,以下是有效行的示例:

CREATE TABLE foo
AS
  SELECT fk,int
  FROM ( VALUES
    ( 1, -12 ),
    ( 1,  20 ),
    ( 1,   0 )
  ) AS (fk, int);
Run Code Online (Sandbox Code Playgroud)

向表中添加一个fk值为 的新行1和一int列是> 0无效的。

有没有办法用约束或索引来做到这一点?我觉得排除约束几乎让我到达那里,但我无法找到让它工作的方法。

我正在使用 Postgres 9.6.2。

postgresql constraint unique-constraint postgresql-9.6

3
推荐指数
1
解决办法
348
查看次数