Published on

January 16, 2016

Исследование инноваций SQL Server на Azure

Работа с последней версией SQL Server всегда волнующая, и еще более захватывающая, когда вы обнаруживаете, что некоторые новые функции уже доступны в Azure SQL DB. Как я упоминал в своем предыдущем блоге о “Drop if Exists” операторе, множество возможностей впервые появляются на облачной платформе, прежде чем быть внедренными в локальный SQL Server. Такой подход позволяет провести тщательное тестирование и масштабируемость, давая предприятиям уверенность в принятии этих функций.

Во время одной из моих презентаций на местной пользовательской группе кто-то спросил, все ли функции вначале появляются в облаке. Этот вопрос вызвал мое любопытство, и я решил провести дальнейшее исследование. Я хотел узнать, будет ли код “Drop if Exists” из моего предыдущего блога работать без проблем на SQLAzureDB. Для начала я подключился к последней созданной базе данных. Так как я использовал CTP2.0 SQL Server 2016, я был любопытен, какая версия уже работает в облаке. К моему удивлению, производственная среда уже использовала последние обновления. Это быстрая развертка обновлений является подтверждением масштабируемости и гибкости, которые облако предоставляет.

Вернувшись к основной теме, у меня было ощущение, что мой код “Drop if Exists” будет работать отлично на Azure. Я продолжил выполнение следующего кода:

DROP TABLE IF EXISTS my_test;
GO
DROP PROCEDURE IF EXISTS my_test_procedure;
GO

Код выполнился без проблем, подтверждая, что функциональность “Drop if Exists” действительно доступна в Azure SQL DB.

Затем я хотел исследовать что-то интересное, что можно сделать в облаке, но нельзя сделать на локальном SQL Server. Я обратился к документации и обнаружил новую функцию под названием DATEDIFF_BIG(). Эта функция позволяет выполнять вычисления с высокой точностью, что невозможно с использованием функций DATETIME, доступных в SQL Server. Например, давайте вычислим количество наносекунд в году:

SELECT DATEDIFF_BIG(nanosecond, '2015-01-01 00:00:00.0000000', '2016-01-01 00:00:00.0000000');
GO

Результатом является “31536000000000000”, что невозможно получить с использованием локальной версии SQL Server 2016. Это открытие подчеркивает быстрый темп инноваций на облачной платформе. Если бы вы запустили этот код на локальном SQL Server, вы столкнулись бы с ошибкой, указывающей на то, что функция “DATEDIFF_BIG” не распознается.

Мне интересно узнать, сколько раз вам понадобилась более высокая точность при работе с функциями DATEDIFF. Какие случаи использования вы встречали? Я хотел бы узнать из ваших опытов, пожалуйста, поделитесь ими в комментариях ниже.

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.