我有一个包含近 1TBFILESTREAM
数据的数据库,我不需要备份(如果数据被删除,它会在几个小时内自动重新创建,所以它并不重要)。大多数数据每隔几天就会更改一次,因此差异备份并不能真正帮助减小大小。
通过将恢复模式设置为Full
,创建一个单独FILEGROUP
的FILESTREAM
,然后只备份“主要”,我让备份按照我需要的方式工作FILEGROUP
。这导致的问题是日志文件(也被备份)现在不必要地大,因为它包含FILESTREAM
数据。
SIMPLE
恢复模式剥夺了我对特定FILEGROUP
s进行备份的能力,所以我认为这也不是一种选择。
我的想法是将FILESTREAM
数据移动到一个单独的数据库,但现在我正在失去参照完整性,并且肯定还会继承许多其他问题。
有没有办法在Simple
恢复模式下创建部分备份(不将FILESTREAM
表设置为只读)?如果没有,我的问题还有其他合理的解决方案吗?
sql-server backup transaction-log filestream sql-server-2014
我有一个表,其中一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。