Skip to content

Введение в новое предложение SELECT WINDOW в SQL Server

Пересказ статьи Hasan Savran. Introduction to new the SELECT WINDOW Clause in SQL Server


Операции WINDOW в SQL Server бывает трудно понять. Я полагаю, что одна из главных причин этого заключается в длинном и повторяющемся коде, который они требуют. Предложение SELECT...WINDOW поможет удалить повторяющийся код и, надеюсь, сделает операции WINDOW более дружественными.

Давайте взглянем сначала на следующий пример. Когда вы смотрите на это впервые, то кажется, что происходит много всего. Потом вы понимаете, что здесь много повторяющегося кода. Continue reading "Введение в новое предложение SELECT WINDOW в SQL Server"

JSON_PATH_EXISTS дает вам больше власти над документами JSON в SQL Server

Пересказ статьи Hasan Savran. JSON_PATH_EXISTS gives you more power over JSON documents in SQL Server


Схемы могут легко изменяться, если вы сохраняете данные в формате JSON. Очень легко добавить или удалить свойства из документов JSON. Когда модель данных меняется быстро, вам придется побеспокоиться о том, существует ли свойство в документе, которое вы разыскиваете. Если путь, который вы ищете, не существует в некоторых документах, вам потребуется так или иначе обработать исключение. Функция JSON_PATH_EXISTS приходит на помощь в подобных ситуациях. Она проверяет наличие конкретного пути во входном документе. Continue reading "JSON_PATH_EXISTS дает вам больше власти над документами JSON в SQL Server"

Понятие конфигурационных функций T-SQL в SQL Server

Пересказ статьи Manvendra Singh. Understanding SQL Server T-SQL Configuration Functions


Имеется множество настроек конфигурации SQL Server, которые мы меняем по мере необходимости. SQL Server предоставляет много способов проверки этих конфигурационных настроек. Одним из способов проверки является использование конфигурационных функций. Здесь я рассмотрю эти функции и некоторые случаи их использования для лучшего понимания того, как мы можем их использовать для проверки настроек конфигурации.

Continue reading "Понятие конфигурационных функций T-SQL в SQL Server"

Оптимизация плана с учетом параметров в SQL Server 2022, когда PSP может помочь вашим запросам выполняться быстрее

Пересказ статьи Erik Darling. SQL Server 2022 Parameter Sensitive Plan Optimization: When PSP Can Help Your Queries Go Faster


Раньше я использовал эту процедуру в качестве примера. Это отличная демонстрация прослушивания параметра.

Почему отличная? Потому что имеется только одно значение в таблице Posts, которое вызывает проблемы. Эта проблема возникает, потому что кто-то ненавидит нормализацию. Continue reading "Оптимизация плана с учетом параметров в SQL Server 2022, когда PSP может помочь вашим запросам выполняться быстрее"

Как импортировать и экспортировать подключения из SQL Server Management Studio

Пересказ статьи Joe Gavin. How to Import and Export Connections from SQL Server Management Studio


Microsoft SQL Server Management Studio (SSMS) является функционально богатой средой для управления и/или разработки в SQL Server. Имеется две связанные функции, которые избавляют вас от повторного ввода информации подключения всякий раз, когда вы соединяетесь с SQL Server. Первая функция автоматически сохраняет успешные подключения к SQL Server, которые становятся доступными в выпадающем списке окна подключения к серверу. Другая - это очень удобная функция, которая называется Registered Servers (зарегистрированные серверы), при помощи которой вы можете создавать организованные группы и списки серверов.

Если вы используете SSMS и пользуетесь одной, а может быть и обеими этими функциями, то, возможно, вы захотите узнать, где хранится информация о подключениях и как сделать её копию или перенести на другую установку SSMS.
Continue reading "Как импортировать и экспортировать подключения из SQL Server Management Studio"

Получение результатов, используя меньше кода T-SQL

Пересказ статьи Edward Pollack. Getting results using less T-SQL


Пытаясь решить проблемы с данными, которые организация нам перекидывает, зачастую легко запутаться в больших сложных запросах. Несмотря на окупаемость усилий по написанию лаконичного, легко читаемого и поддерживаемого кода T-SQL, иногда необходимость просто быстро получить набор данных приводит к созданию пугающего кода, которого лучше избегать, чем использовать.

В этой статье рассматривается несколько шаблонов запросов, которые могут оказаться полезными при попытке упростить беспорядочный код, а также и улучшить производительность запроса одновременно с улучшением его обслуживания!
Continue reading "Получение результатов, используя меньше кода T-SQL"

Тайные советы по статистике в SQL Server

Пересказ статьи Esat Erkec. Unrevealed tips of SQL Server Statistics


В этой статье будут исследованы некоторые принципы внутренней работы статистики в SQL Server.

Что такое оценщик кардинального числа (Cardinality Estimator - CE)?


Оценщик кардинального числа - это основной компонент оптимизатора запросов SQL Server, он отвечает за предсказание числа строк, которое будет возвращено запросом. От точности этого предсказания напрямую зависит эффективность сгенерированного плана запроса. Это влияние на план запроса делает CE решающим фактором для производительности запросов. Continue reading "Тайные советы по статистике в SQL Server"

Как создать и сконфигурировать связанный сервер для подключения к MySQL в SQL Server Management Studio

Пересказ статьи Marko Zivkovic. How to create and configure a linked server to connect to MySQL in SQL Server Management Studio


В этой статье дается инструкция, которая по шагам приведет вас к созданию связанного сервера в SSMS для подключения к базе данных MySQL.

Статья состоит из трех разделов:

  • Установка драйвера ODBC для MySQL

  • Конфигурирование драйвера ODBC для подключения к базе данных MySQL

  • Создание и конфигурирование связанного сервера с использованием драйвера ODBC

Continue reading "Как создать и сконфигурировать связанный сервер для подключения к MySQL в SQL Server Management Studio"

Как правильно форматировать код SQL

Пересказ статьи Dorota Wdzięczna. How to Properly Format SQL Code


Написание запросов к базе данных требует знания синтаксиса SQL, но это не все, что вам следует знать. Лучшая практика написания профессионального SQL-кода требует хороших навыков форматирования. В этой статье я обсуждаю почему это так важно и основные правила, которых следует придерживаться. Continue reading "Как правильно форматировать код SQL"

Что делать с ростом журнала транзакций

Пересказ статьи Kenneth Igiri. Dealing with Transaction Log Growth


Введение


Реляционные базы данных спроектированы для отслеживания изменений, вносимых в базу данных командами языка модификации данных (DML). Фундаментальной причиной такой структуры служит гарантия долговечности изменений и их надежного отката. Типичными командами DML, используемыми в SQL, являются INSERT, UPDATE и DELETE. Когда INSERT вносит новые строки в таблицу базы данных, ядро базы данных должно быть физически активно и работать в эффективном режиме.

Это означает, что изменения должны быстро записываться в файл журнала (сначала в буфер журнала), в то время как блоки фактических данных еще находятся в памяти пока не возникнет событие контрольной точки. То же самое происходит с операциями UPDATE и DELETE. Попытка сохранять изменения, сделанные в памяти, непосредственно в файлах данных будет неэффективной. Таким образом, этот файл журнала или файл журнала транзакций (Transaction Log File) очень важен для функционирования систем реляционных баз данных, подобных SQL Server. Continue reading "Что делать с ростом журнала транзакций"

Как стать разработчиком SQL Server

Пересказ статьи Esat Erkes. How to become a SQL Server Developer


В этой статье мы поговорим о том, чем занимаются разработчики SQL Server и какие навыки требуются, чтобы получить работу в качестве разработчика SQL Server.

Введение


За последнее десятилетие объемы данных росли гигантскими темпами, и в следующие несколько лет ожидается их экспоненциальный рост. В этой ситуации стать разработчиком SQL является правильным решением, чтобы сделать успешную карьеру. Успешные и талантливые разработчики SQL Server по-прежнему высоко востребованы на рынке труда с удовлетворительной зарплатой. на LinkedIn можно увидеть огромное число открытых вакансий для разработчиков SQL по всему миру. Continue reading "Как стать разработчиком SQL Server"

Как насчет того, чтобы TRY и CATCH некоторые транзакции?

Пересказ статьи Kevin Wilkie. How about we TRY and CATCH some Transactions?


TRY просто говорит SQL Server, что мы хотим что-то проверить. CATCH говорит SQL Server, что делать, если эта проверка не прошла. Continue reading "Как насчет того, чтобы TRY и CATCH некоторые транзакции?"

Как я могу использовать столбец identity, не зная его имени

Пересказ статьи Kenneth Fisher. How can I use the identity column, without knowing identity column’s name


Одним из наиболее замечательных свойств ведения блога является открытие для себя чего-то совершенно неожиданного при написании статьи. Однажды я писал одну из последних учебных статей об использовании Microsoft Docs (или, или как я по прежнему это называю, Books on Line). Поскольку я хотел, чтобы люди находили некоторые вещи, я просто просматривал разные страницы в случайном порядке, подбирая раздел, читая его и придумывая что бы они могли поискать. По большей части я знал или, по крайней мере, был в какой-то мере знаком с теми вещами, о которых читал. Затем, когда я читал о предложении SELECT, я напал на $IDENTITY. Что за интересное ключевое слово. Ничего удивительного, оно просто возвращает значение столбца identity. (К вашему сведению, имеется также ключевое слово $ROWGUID.) Вот пример: Continue reading "Как я могу использовать столбец identity, не зная его имени"

Понимание связанных серверов в SQL Server

Пересказ статьи Eric Blinn. Understanding SQL Server Linked Servers


Я вижу, что существует опция для связанных серверов (Linked Servers) в SQL Server Management Studio (SSMS), и я хочу узнать больше о том, что они делают и как работают.

Связанные серверы представляют собой метод, посредством которого SQL Server может общаться с другой базой данных, совместимой с ODBC, например, другим экземпляром SQL Server или базой данных Oracle, непосредственно с помощью запросов T-SQL. Continue reading "Понимание связанных серверов в SQL Server"

Использование триггера INSTEAD OF для обновления представления

Пересказ статьи Chad Callihan. Using INSTEAD OF Trigger to Update View


Недавно я столкнулся со странной проблемой, и мне подумалось, что это может стать отличным постом в блоге. Мне сообщили о стандартном процессе в приложении, который завершался неудачно со следующей ошибкой SQL:


Msg 4405, Level 16, State 1, Line 19
View or function ‘XXXXX’ is not updatable because the modification affects multiple base tables.

(Представление или функция не является обновляемым, поскольку модификация затрагивает несколько базовых таблиц.)


Я понимал смысл этой ошибки, но был сбит с толку появлением ее в этом конкретном случае. Я обновлял или модифицировал это представление множество раз ранее, так что происходит? Continue reading "Использование триггера INSTEAD OF для обновления представления"