小编Neo*_*Neo的帖子

如何截断 SQL Server 2008 数据库中的事务日志?

如何截断 SQL Server 2008 数据库中的事务日志?

什么是可能的最佳方法?

我从博客中尝试了以下方法:

1)从设置数据库到简单恢复,缩小文件,再设置完全恢复,实际上是丢失了宝贵的日志数据,无法及时恢复。不仅如此,您还将无法使用后续日志文件。

2) 缩小数据库文件或数据库增加碎片。

你可以做很多事情。首先,使用以下命令开始进行适当的日志备份,而不是截断它们并经常丢失它们。

BACKUP LOG [TestDb] TO  DISK = N'C:\Backup\TestDb.bak'
GO
Run Code Online (Sandbox Code Playgroud)

删除 SHRINKING 文件的代码。如果您进行适当的日志备份,您的日志文件通常(同样通常,特殊情况除外)不会变得很大。

sql-server logs

9
推荐指数
3
解决办法
7万
查看次数

对使用连接或子查询 SQL 感到困惑?

表格1

Id Name  DemoID
1  a      33
2  b      44
3  c      33
4  d      33
5  e      44
Run Code Online (Sandbox Code Playgroud)

表2

Id DemoID IsTrue
11  33     1  
12  44     1
Run Code Online (Sandbox Code Playgroud)

现在我们可以使用以下 2 个使用连接和使用子查询的查询来找到表 2 中存在哪个 DemoID,但是对于更多的记录,哪个更准确/更相关?

使用加入 -

SELECT Table1.Id FROM Table1  Table1 join Table2 Table2 on Table1.DemoID  = Table2.DemoID 
WHERE Table2.IsTrue = 1
Run Code Online (Sandbox Code Playgroud)

使用子查询 -

SELECT Table1.Id  FROM Table1  Table1
WHERE Table1.DemoID  in (select Table2.DemoID from Table2 Table2)
Run Code Online (Sandbox Code Playgroud)

sql-server sql-server-2012

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

标签 统计

sql-server ×2

logs ×1

sql-server-2012 ×1