воскресенье, 30 июня 2013 г.

SQL 2012 Always on step-by-step (пошаговая инструкция по конфигурированию Always on)

SQL 2012 Always on - удобное решение, обеспечивающее отказоустойчивость и распределение нагрузки (для приложений, которые это поддерживают) без необходимости иметь shared storage (хотя, для еще большей отказоустойчивости, можно объединить несколько SQL Failover clusters в Always on реплики). Конфигурировать это решение достаточно просто и удобно (я делал это на Windows Server 2008 R2 + SQL 2012 в домене Active Directory).

понедельник, 24 июня 2013 г.

OPTION (OPTIMIZE FOR ( @xColumns = NULL )) значительно повышает производительность XML query

Случайно наткнулся на

select ColumnNames.value('.', 'nvarchar(300)') name
from @xColumns.nodes('/columns/name') T1(ColumnNames)
OPTION (OPTIMIZE FOR ( @xColumns = NULL ))
добавление последней строчки уменьшило время выполнения аналогичного запроса в моем случае аж на 25% (10мс). Нашел тут:
http://stackoverflow.com/

понедельник, 17 июня 2013 г.

Force instance removal from SQL UCP (насильно убрать managed instance из Utility Control Point)

Предположим, вы деинсталлировали SQL Server instance и забыли его предварительно убрать из UCP. Он будет там торчать вечно, серенький и печальный. Чтобы убрать его оттуда, можно воспользоваться следующей командой (на сервере с UCP):

EXEC msdb.dbo.sp_sysutility_ucp_remove_mi @instance_id=xx

xx берется отсюда:

SELECT instance_id,instance_name 

    FROM msdb.dbo.sysutility_ucp_managed_instances_internal