我有一个运行SQL server 2016的服务器,我需要创建大约6000个不同的数据库。到目前为止,我已经创建了大约2000,但服务器将开始抛出错误,所有这些错误都与服务器内存不足有关,例如:
Msg 701、级别17、状态130、第8行资源池“内部”中的系统内存不足,无法运行此查询。
代码是用c#使用Microsoft.SqlServer.Management.Smo库编写的。简而言之,它使用SQLRestore将“主”数据库的备份还原到具有不同名称的新数据库。
在重新启动Server服务之后,我能够在遇到相同的错误之前创建20-30个数据库。
我该如何避免这个问题?
关于服务器的一些信息:
发布于 2018-09-12 12:04:47
我知道你在做概念的证明,但你的想法不同。
如果您正在测试应用程序逻辑或数据库维护,则不需要该服务器上的6,000个数据库来完成该级别的测试。你应该能通过,比方说,100。
如果您正在测试性能,则需要测试在生产中使用的硬件类型。即使没有最终用户查询,您的简单常规后台作业(如备份、统计更新和checkdb )也会导致严重的性能问题。
如果您正在使用数据库镜像测试高可用性,或者总是对可用性组进行测试,请注意,即使每个额外的数据库都会消耗资源。没有执行任何操作。
https://dba.stackexchange.com/questions/217317
复制相似问题