mol*_*olf 7 sql sql-server testing performance durability
我有一个针对SQL Server 2012群集中的数据库运行的测试套件.我希望这个测试套件尽可能快地运行.我愿意为性能牺牲每一种耐用性和可用性保证.在每次测试运行期间都会重新创建数据库,因此它甚至不必在服务器重新启动后继续运行.
更改恢复模型ALTER DATABASE [dbname] SET RECOVERY SIMPLE
没有明显的区别.
一个很好的选择似乎DELAYED_DURABILITY
,但这是2014年的新功能,因此我无法使用.
如何在此群集上创建一个疯狂的快速数据库?我试图寻找内存数据库,但找不到任何选项.群集将不允许我在本地磁盘上创建数据库,坚持它必须位于群集磁盘上.
更新: 该应用程序使用高级SQL Server功能,所以我很可能坚持使用MS SQL Server.数据库本身非常小,因为它用于测试(8MB mdf,1MB ldf).群集节点是网络中速度最快的服务器,因此如果我可以将其中一个节点误用于内存数据库,那肯定是最快的.但是怎么样?
如果由于某种原因您被困在集群 SQL Server 实例上,但您不想要持久性,也许您可以在 tempdb 上运行应用程序。Tempdb 可以放置在本地存储上以避免集群开销。
另请注意,存储在 tempdb 上的数据最初将保留在缓冲池(即 RAM 内存)中,只有当 sql server 引擎找到更好的内存空间使用方式时,才会异步溢出到磁盘。
您可以通过编写所有数据库对象的脚本并使用文本编辑器将数据库名称替换为“tempdb”来实现此解决方案。然后执行此脚本在 tempdb 上创建所有对象。还将运行应用程序的用户的初始目录设置为 tempdb 和/或编辑所需的连接字符串。请记住,每次重新启动实例时都会重新生成 tempdb。所以你会丢失所有数据和 ddl 更改。
这无疑是“牺牲一切耐久性和可用性保证”的最大努力。
归档时间: |
|
查看次数: |
1071 次 |
最近记录: |