Пересказ статьи William Assaf. A simple lab to demonstrate the danger of NOLOCKs in INSERT statements
Уровню изоляции
READ UNCOMMITTED, который активирует табличный хинт NOLOCK, не следует доверять, когда он используется при записи данных. Вы не всегда защищены ошибкой 1065 в случаях, когда запись сталкивается с NOLOCK.
Continue reading "Простая лабораторная работа для демонстрации опасности NOLOCK в операторах INSERT"
Пересказ статьи Kenneth Fisher. EXECUTE AS USER vs EXECUTE AS LOGIN
Я часто использую имперсонализацию. Это действительно простой способ проверки, имеет ли кто-то разрешения, которые у него должны быть. Итак, коллега недавно задал интересный вопрос. Они тестировали разрешения на
синоним.
EXECUTE AS User='Domain/NetworkName';
SELECT Col1, Col2 FROM SynonymName;
-- SynonymName == OtherDB.dbo.TableName
Continue reading "EXECUTE AS USER или EXECUTE AS LOGIN"
Пересказ статьи 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 вызова с другими платформами.
Continue reading "SQL Server 2022: Появление функции DATETRUNC, поэтому вы можете обрезать даты и прочее"
Пересказ статьи Erik Darling. Stored Procedures vs sp_executesql In SQL Server: Is One Better Than The Other
Мне часто задают этот вопрос клиенты, главным образом, в следующих двух конкретных случаях:
- Кто-то мне говорил, что им потребовалось использовать динамический SQL в хранимой процедуре.
- Приложения, отправляющие параметризованные операторы SQL, которые выполняются с помощью sp_executesql.
Continue reading "Хранимые процедуры или sp_executesql в 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"