SQLServerCentral Article

All About Transactions - Part 1

The heart of an RDBMS is the transaction system that it employs. SQL Server has a great one that can easily be misunderstood or misused by those that haven't spent time delving into the details of how it works. Don Peterson has done that and brings us the start of a new series on the details of how transactions work in SQL Server.

Technical Article

The Script Component(As A Transform)

In this article we are going to assume a few things about the reader as we want to concentrate as much as possible on the Script Component itself and not the peripheral stuff
The things we will assume are:
* You are happy with adding a DataFlow task to the designer in Workflow
* You are happy to configure an OLEDB Source adapter
* You are comfortable with configuring mappings in the Destination adapter

Technical Article

Workflow Constraints (Logical OR)

To do some of the stuff we wanted in SQL Server 2000 DTS we had put together some serious glue code and to be honest it wasn't pretty. One of the things that we used to have to do this way was if we wanted to implement using workflow constraints a Logical OR. Well that has changed and it is now really simple and this article is going to show you how to implement it.

SQLServerCentral Article

Best Practices are always the Best

On this site, we have taken a contrarian approach to looking at the ways to configure SQL Server with our Worst Practices series. However Microsoft still looks at it from the other side and release a tool called the Best Practices Analyzer for SQL Server. Author Dinesh Asanka brings us a short look at this tool.

Technical Article

The OLE DB Command Transformation

In the newsgroups we have been asked on a number of occasions how to execute a stored procedure once for every row of input data. There's currently no really good way of doing this but in SQL Server 2005 DTS that is about to change. This article is going to show you how to take values from a source table and for every row execute a stored procedure which inserts values into another table.

SQLServerCentral Article

An Alternative XML Solution

SQL Server 2000 added support for XML documents in a few ways. However the support was a little kludgy as it had not been designed into the product from the beginning, but added on later. New author Wayne Fillis brings us some C++ code and a new way to easily retrieve well formed XML documents from your SQL Server.

Technical Article

SQL Server 2005 Express Edition Overview

SQL Server Express, a free product based on SQL Server 2005 technology, includes the unique Application XCopy feature, and networking and security that differ from other SQL Server 2005 editions. These topics and the integration of SQL Server Express with Visual Studio 2005 are discussed. Compare this product with the existing Microsoft free databases like MSDE and Jet.

Blogs

Five Ways Redshift Serverless Quietly Eats Your Budget

By

It is Friday, the queries are running, and nobody is watching the bill. That...

A Career of Memories

By

Annabel retired from Redgate Software this week. Across most of my career at Redgate,...

Rethinking Index Maintenance: Why avg_fragmentation_in_percent Is Outdated and What You Should Do Instead

By

As a SQL Server DBA with years of experience tuning production environments, I’ve seen...

Read the latest Blogs

Forums

What is the Cloud?

By Steve Jones - SSC Editor

Comments posted to this topic are about the item What is the Cloud?

Changing the Schema

By Steve Jones - SSC Editor

Comments posted to this topic are about the item Changing the Schema

Index Fragmentation Explained: Page Splits, Logical Reads, and What to Do

By Sanket Parmar

Comments posted to this topic are about the item Index Fragmentation Explained: Page Splits,...

Visit the forum

Question of the Day

Changing the Schema

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
GO
I 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
GO
This worked. Now, I move this schema to a new user.
ALTER AUTHORIZATION ON SCHEMA::Myschema TO User3;
GO
What happens with this code?
SETUSER 'USER2'
GO
SELECT * FROM MySchema.MyTable
GO

See possible answers