在过去的日子里,这被认为是一个很大的禁忌select * from table
或select count(*) from table
因为性能受到影响。
在 SQL Server 的更高版本中是否仍然如此(我使用的是 2012,但我想这个问题适用于 2008 - 2014)?
编辑:由于人们似乎在这里稍微批评我,我是从基准/学术的角度来看这个的,而不是这是否是“正确”的事情(当然不是)
我有一些ALTER TABLE
我正在运行的声明。并非所有这些都有效(它们是运行 SQL 数据比较的结果),我想将它们分组到一些事务中,并在出现问题时回滚语句。
这可能吗,还是只能回滚数据?
所以我知道当修补两个主要的数据库服务器(记录为 SQL Server)时,你会做镜像、故障转移,然后当一切都赶上时做新的镜像,但是见证盒呢?只是打补丁然后重新启动它并且(理论上)它会再次恢复是否安全?
我的实际镜像部分没有问题,但由于使用了临时表,如果发生故障转移,IIS 会引发一些不稳定(我仍在测试一些东西,所以是我造成了故障转移) .
是否有可能(甚至是一个好主意)镜像tempdb
?或者我应该接受如果主体数据库由于任何原因无法访问,有些人可能会被踢出。
我正在使用 ASPState 以便两个 Web 服务器(在启用粘性会话的负载平衡器后面)都可以获取相同的会话数据。
我正在尝试在 SQL Server 2008R2 中设置数据库镜像。我已经从我的主要数据库中进行了完整备份和事务备份,并且我已经恢复了两个WITH NORECOVERY
.
但是,我的镜像数据库现在卡在RECOVERING
模式中,当我在我的主体上点击“开始镜像”时,它说它无法连接。
我究竟做错了什么?
编辑:我应该说我的数据库相当大(mdf 文件大约为 4.8GB)所以这可能是原因。
Edit2:我也尝试在关闭两个防火墙的情况下执行此操作,所以我知道这不是防火墙问题。
Edit3:我已经运行了 Mark 建议的 SQL。主要结果在这里:http : //piersonthe.net/principal.xls和镜像在这里:http : //piersonthe.net/mirror.xls
值得注意的是,我在镜像上运行查询时出现以下错误:Msg 927, Level 14, State 2, Line 1 Database 'RHSCMSSites' cannot be open. 它正处于恢复过程中。