Skip to content

EXECUTE AS USER или EXECUTE AS LOGIN

Пересказ статьи Kenneth Fisher. EXECUTE AS USER vs EXECUTE AS LOGIN


Я часто использую имперсонализацию. Это действительно простой способ проверки, имеет ли кто-то разрешения, которые у него должны быть. Итак, коллега недавно задал интересный вопрос. Они тестировали разрешения на синоним.

EXECUTE AS User='Domain/NetworkName';
SELECT Col1, Col2 FROM SynonymName;
-- SynonymName == OtherDB.dbo.TableName
Продолжить чтение "EXECUTE AS USER или EXECUTE AS LOGIN"
Категории: T-SQL

SQL Server 2022: Появление функции DATETRUNC, поэтому вы можете обрезать даты и прочее

Пересказ статьи Erik Darling. SQL Server 2022: Introduces the DATETRUNC Function, So You Can Truncate Your Dates And Stuffr


Важность


Когда я впервые сел за написание этой статьи, то делал забавную ошибку: я постоянно продолжал писать DATE_TRUNC.

В SQL Server это называется DATETRUNC.

Почему? Потому что так она реализована в PostgreSQL и DB2. В Oracle, конечно, она просто называется TRUNC.

Так что, хотя было бы неплохо иметь одинаковое поведение (как казалось), это точно не помогает, если у вас нет эквивалента 1:1 вызова с другими платформами. Продолжить чтение "SQL Server 2022: Появление функции DATETRUNC, поэтому вы можете обрезать даты и прочее"

Хранимые процедуры или sp_executesql в SQL Server: что лучше?

Пересказ статьи Erik Darling. Stored Procedures vs sp_executesql In SQL Server: Is One Better Than The Other


Мне часто задают этот вопрос клиенты, главным образом, в следующих двух конкретных случаях:

  • Кто-то мне говорил, что им потребовалось использовать динамический SQL в хранимой процедуре.

  • Приложения, отправляющие параметризованные операторы SQL, которые выполняются с помощью sp_executesql.

Продолжить чтение "Хранимые процедуры или sp_executesql в SQL Server: что лучше?"

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

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


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

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

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 приходит на помощь в подобных ситуациях. Она проверяет наличие конкретного пути во входном документе. Продолжить чтение "JSON_PATH_EXISTS дает вам больше власти над документами JSON в SQL Server"
Категории: T-SQL

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

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


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

Продолжить чтение "Понятие конфигурационных функций T-SQL в SQL Server"
Категории: T-SQL

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

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


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

Почему отличная? Потому что имеется только одно значение в таблице Posts, которое вызывает проблемы. Эта проблема возникает, потому что кто-то ненавидит нормализацию. Продолжить чтение "Оптимизация плана с учетом параметров в 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.
Продолжить чтение "Как импортировать и экспортировать подключения из SQL Server Management Studio"
Категории: T-SQL

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

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


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

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

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

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


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

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


Оценщик кардинального числа - это основной компонент оптимизатора запросов SQL Server, он отвечает за предсказание числа строк, которое будет возвращено запросом. От точности этого предсказания напрямую зависит эффективность сгенерированного плана запроса. Это влияние на план запроса делает CE решающим фактором для производительности запросов. Продолжить чтение "Тайные советы по статистике в 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

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

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

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


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

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

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


Введение


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

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

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

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


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

Введение


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

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

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


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