95得票8回答
如何在SQL Server中查询最后恢复日期?

有没有一个T-SQL查询可以显示特定数据库的最后还原日期时间?

82得票1回答
如何在SQL Server 2008中强制删除数据库

我正在尝试强制删除一个数据库,但是在删除数据库后,当我尝试重新创建数据库时,出现了以下错误: 无法创建文件C:\ Program Files ..... [数据库名称] .mdf,因为它已经存在。 这是我用于强制删除数据库的查询语句。 Use master; ALTER database...

79得票7回答
写一个简单的银行模式:我应该如何保持我的余额与交易历史同步?

我正在为一个简单的银行数据库编写模式。以下是基本规格: - 数据库将存储用户和货币的交易。 - 每个用户每种货币只有一个余额,因此每个余额只是对给定用户和货币的所有交易求和。 - 余额不能为负数。 银行应用程序将仅通过存储过程与其数据库通信。 我预计这个数据库每天会接受数十万条新交易,并...

69得票12回答
将数组参数传递给存储过程

我有一个流程,它获取一堆记录(数千条)并对它们进行操作,完成后,我需要将其中大量标记为已处理。我可以用一个ID列表来表示这个过程。我想避免“循环更新”模式,所以我希望找到一种更高效的方法将这些ID传递给MS SQL Server 2008存储过程。 建议1 - 表值参数。我可以定义一个只有I...

60得票5回答
我无法通过IP地址连接到我的服务器SQL数据库。

我已经设置了一个运行Windows Server 2008并安装了SQL Server 2008 Express的服务器。 我可以通过"MACHINENAME/SQLEXPRESS"连接到机器上的SQL Server Express数据库。 然而,当我们尝试使用IP地址通过任何软件或脚本进...

58得票6回答
死锁的主要原因是什么?它们能够被预防吗? 死锁的主要原因有多种。首先,资源竞争是导致死锁的常见因素之一。当多个进程同时请求相同的资源,但无法满足所有请求时,可能会发生死锁。其次,进程间的循环等待也是引起死锁的重要原因之一。当每个进程都在等待其他进程释放资源时,可能形成一个闭环,导致系统陷入死锁状态。 另外,死锁还可能由于进程调度策略不当、资源分配不平衡或者代码中存在错误而产生。例如,如果系统对进程的资源请求没有限制或控制,可能会导致资源耗尽和死锁的发生。此外,若某些进程在执行过程中出现了错误或异常,可能会导致资源无法正常释放,从而引发死锁。 然而,死锁是可以通过一些预防措施来避免的。一种方法是使用适当的资源分配和调度策略,以避免资源竞争和循环等待的情况发生。此外,应该对进程的资源请求进行良好的限制和管理,以确保系统中资源的可用性和平衡性。此外,代码设计中的错误应该被及时发现和修复,以免造成资源无法释放的问题。 总之,了解死锁的主要原因是预防它们的关键。通过合理的资源管理、调度策略和代码设计,可以有效地预防死锁的发生。

最近我们的一个ASP.NET应用程序显示了一个数据库死锁错误,我被要求检查和修复这个错误。我成功找到了死锁的原因是一个严格更新游标内的表的存储过程。 这是我第一次看到这个错误,不知道如何有效地跟踪和修复它。我尝试了我所知道的所有可能的方法,最后发现正在更新的表没有主键!幸运的是,它是一个自增...

57得票2回答
数据库“owner”的目的是什么?

今天在解决服务代理问题时,我发现数据库所有者是一位已离职的员工的Windows登录账户。由于他的登录账户已被删除,因此查询通知失败了。 据说处理这个问题的最佳实践是将“sa”设为数据库所有者。我们进行了更改,清空了队列。 我的(非常基础的)问题是:数据库所有者是什么,它的作用是什么?

55得票4回答
如何确定导致“字符串或二进制数据将被截断”错误的列(或列)?

我正在使用我编写的代码自动从远程Pg数据库选择并插入到本地SQL Server数据库中生成一些查询。然而,其中一个查询生成了以下错误: [Microsoft][ODBC SQL Server Driver][SQL Server]String or binary data would be ...

53得票8回答
如何快速缩小所有数据库中的所有文件?

在SQL Server中(本例中为2008版本),我如何快速缩小实例上所有数据库的日志和数据文件?我可以通过SSMS逐个右键点击并选择任务->缩小,但我正在寻找更快的方法。 我编写了一些“创建数据库”脚本,忘记了它们默认的大小已经膨胀,并且在这个项目中不需要那么多空间来保留这些文件。