Skip to content

Простая лабораторная работа для демонстрации опасности NOLOCK в операторах INSERT

Пересказ статьи William Assaf. A simple lab to demonstrate the danger of NOLOCKs in INSERT statements


Уровню изоляции READ UNCOMMITTED, который активирует табличный хинт NOLOCK, не следует доверять, когда он используется при записи данных. Вы не всегда защищены ошибкой 1065 в случаях, когда запись сталкивается с NOLOCK. Продолжить чтение "Простая лабораторная работа для демонстрации опасности NOLOCK в операторах INSERT"

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