How Implicit Transactions Hurt SQL Server Performance Without You Knowing
Learn about implicit transaction and why you might not want to enable this setting.
2025-10-24
6,715 reads
Learn about implicit transaction and why you might not want to enable this setting.
2025-10-24
6,715 reads
Simon Galbraith, co-founder of Redgate and one of the creators of Simple Talk, remembers Andrew Clarke
2025-10-24
This article explores the 'shadow copy' and 'disk virtualization' services built into the Windows operating system and explains a basic solution demonstrating how the technology is used to copy the data and log files for a live SQL Server database into an 'image', from which we can create multiple, lightweight copies, or clones, of the original database.
2025-10-22 (first published: 2021-04-29)
6,225 reads
Learn how indexes can help you with more than just querying data.
2025-10-22
18,075 reads
I’ve seen the SQL EXISTS keyword in Microsoft SQL Server T-SQL code and don’t understand it well. What does it do? How do I use it? Are there best practices around SQL IF EXISTS?
2025-10-22
Learn how ledger databases and ledger tables work in SQL Server 2022.
2025-10-20
17,813 reads
VIEWs are an undervalued and underused feature in SQL. They basically consist of a query that has been given a name, and a parameter list, so can be used like an inline macro. Technically, you’re supposed to think of it as a virtual table.
2025-10-20
This article shows how to use Python to create a REST API for your application that developers can use to access the database.
2025-10-17
6,758 reads
Most SQL bulk insert and SQL Server openrowset tutorials skip file access issues that can stop imports cold. Both the bulk insert statement and openrowset function rely on the SQL Server service account to read a source file. The SQL Server service account must have read permission on the file or its folder. It is also convenient to have read & execute as well as list folder content permissions.
2025-10-17
I have never seen a T-SQL feature that people love as much as NOLOCK.
2025-10-15
It is Friday, the queries are running, and nobody is watching the bill. That...
By Steve Jones
Annabel retired from Redgate Software this week. Across most of my career at Redgate,...
By Tim Radney
As a SQL Server DBA with years of experience tuning production environments, I’ve seen...
Comments posted to this topic are about the item What is the Cloud?
Comments posted to this topic are about the item Changing the Schema
Comments posted to this topic are about the item Index Fragmentation Explained: Page Splits,...
I set up a few users on my SQL Server 2022 instance.
CREATE LOGIN User1 WITH PASSWORD = 'Demo12#1' CREATE USER User1 FOR LOGIN User1 GO CREATE LOGIN User2 WITH PASSWORD = 'Demo12#2' CREATE USER User2 FOR LOGIN User2 GO CREATE LOGIN User3 WITH PASSWORD = 'Demo12#3' CREATE USER User3 FOR LOGIN User3 GOI then created a schema that one of them owned. Under this schema, I added a table with some data.
CREATE SCHEMA MySchema AUTHORIZATION User1
GO
CREATE TABLE Myschema.MyTable(myid INT)
GO
INSERT MySchema.MyTable
(
myid
)
VALUES
(1), (2), (3)
GO
SELECT * FROM MySchema.MyTable
GO
I granted rights and verified that User2 could access this table.
GRANT SELECT ON Myschema.MyTable TO User2 GO SETUSER 'USER2' GO SELECT * FROM MySchema.MyTable GOThis worked. Now, I move this schema to a new user.
ALTER AUTHORIZATION ON SCHEMA::Myschema TO User3; GOWhat happens with this code?
SETUSER 'USER2' GO SELECT * FROM MySchema.MyTable GOSee possible answers