299得票4回答
为什么事务日志会不断增长或者空间不足? 事务日志是数据库中记录所有数据库操作的重要组成部分。它记录了每个事务的详细信息,包括对数据的修改和更改。然而,有时候事务日志会出现不断增长或者空间不足的问题。 造成事务日志不断增长或者空间不足的原因有很多。首先,可能是由于数据库中存在大量的活动事务,导致日志文件不断增长。这可能是由于频繁的数据修改、插入或删除操作引起的。此外,如果数据库没有定期进行事务日志备份和截断,也会导致日志文件持续增长。 另一个可能的原因是事务日志文件的初始大小设置不合理。如果初始大小设置过小,那么在高负载情况下,日志文件很快就会达到最大容量并耗尽空间。因此,正确设置事务日志文件的初始大小非常重要。 此外,如果数据库中存在未提交的长时间运行的事务,也会导致事务日志持续增长。这些未提交的事务会占用日志空间,直到它们被提交或回滚。 解决事务日志不断增长或者空间不足的方法有几种。首先,可以通过定期备份和截断事务日志来释放空间。其次,可以调整事务日志文件的初始大小,确保它能够容纳预期的活动事务量。最后,及时提交或回滚长时间运行的事务,以释放占用的日志空间。 总之,了解事务日志不断增长或者空间不足的原因,并采取适当的措施来解决这些问题,对于数据库的正常运行非常重要。

这似乎是大多数论坛和整个网络上的一个常见问题,它以许多不同的形式被提出,通常听起来像这样: 在SQL Server中: - 事务日志为什么会变得如此庞大? - 为什么我的日志文件这么大? - 有哪些方法可以防止这个问题发生? - 当我找到了潜在原因并想要将我的事务日志文件恢复到健康大小时,我...

274得票7回答
在什么情况下,我应该使用唯一约束而不是唯一索引?

当我想让一列具有不同的值时,我可以使用约束。 create table t1( id int primary key, code varchar(10) unique NULL ); go 或者我可以使用一个唯一索引 create table t2( id int primary ke...

244得票18回答
你是如何记录你的数据库的?

我发现大部分客户根本没有对他们的数据库进行文档化,这让我感到非常担心。为了引入一些更好的做法,我想知道人们在使用哪些工具/流程。 - 你是如何对你的数据库进行文档化的?(SQL Server) - 你使用什么工具? - 数据库架构/元数据的文档存储格式? - Word 文档 - Ex...

207得票6回答
什么时候应该将主键声明为非聚集索引?

在为我之前提出的另一个问题创建测试数据库时,我想起了可以将主键声明为非聚集索引(NONCLUSTERED)。 相较于聚集索引(CLUSTERED)主键,什么情况下会使用非聚集索引主键? 提前感谢。

189得票7回答
CTE和临时表有什么区别呢?

什么是通用表达式(CTE)和临时表之间的区别?在何时应该使用其中之一而不是另一个? CTE WITH cte (Column1, Column2, Column3) AS ( SELECT Column1, Column2, Column3 FROM SomeTable )...

176得票19回答
开发人员是否应该能够查询生产数据库?

开发人员是否应该被允许查询(SELECT / 只读)生产数据库?我之前工作的地方,开发团队拥有db_datareader角色;而我现在的工作地方,开发团队甚至无法连接到生产实例。 其中一个测试实例是每周从生产备份中恢复的生产副本,所以开发人员实际上看不到数据方面的任何问题。 除了不希望他们...

173得票4回答
帮助安装SQL Server 2017 - VS Shell安装失败,退出代码为1638。

有关如何处理这个错误的任何建议吗? TITLE: Microsoft SQL Server 2017 Setup ------------------------------ The following error has occurred: VS Shell installation ...

172得票6回答
Guid vs INT - Which is better as a primary key? GUID (Globally Unique Identifier) and INT (Integer) are both options for choosing a primary key in a database. Each option has its advantages and considerations. A GUID is a 128-bit value that is globally unique, meaning it is highly unlikely to be duplicated across different systems or databases. This uniqueness can be an advantage when working with distributed systems or when merging data from multiple sources. However, the downside of using GUIDs is that they are larger in size compared to INTs, which means they take up more storage space and may have a negative impact on performance. On the other hand, an INT is a smaller data type in terms of storage size and is generally faster to process than a GUID. If your database does not require global uniqueness or if you have a limited number of records, using an INT as a primary key can be a more efficient choice. Additionally, since INTs are numeric, they can be easily indexed and sorted. Ultimately, the decision between using a GUID or an INT as a primary key depends on the specific requirements and characteristics of your database. Consider factors such as system scalability, uniqueness needs, and performance trade-offs before making a decision. It is crucial to evaluate the pros and cons of each option to ensure the best fit for your database design.

我一直在阅读关于使用或不使用Guid和int的原因。 int更小,更快,更容易记住,并且保持了时间顺序。至于Guid,唯一的优点就是它是唯一的。在哪种情况下,Guid比int更好? 从我所见,int没有任何缺点,除了数字限制,在许多情况下都是无关紧要的。 Guid到底是为什么创建的?我认...

157得票12回答
我该如何移动SQL Server数据库文件?

我有一个数据库,想要将.mdf和.ldf文件移动到另一个位置。但是我不想停止MSSQLSERVER服务,也不想导出到另一个服务器。 我该如何操作?