Allowing a User to Create Objects in a Schema
I was testing something the other day and realized this was a security area I didn’t completely understand. I decided...
2015-03-12
1,208 reads
I was testing something the other day and realized this was a security area I didn’t completely understand. I decided...
2015-03-12
1,208 reads
A short piece, as I ran into the need recently to alter a column to NOT NULL status. I’ve rarely...
2015-03-12
790 reads
How much of an investment should you make in learning design? Steve Jones talks about why we should learn how to do it right.
2015-03-11 (first published: 2010-09-29)
335 reads
2015-03-11
1,814 reads
2015-03-10
1,855 reads
2015-03-04
1,864 reads
2015-03-03
1,822 reads
2015-03-02
804 reads
2015-03-02
1,508 reads
This week Steve Jones wonders if you'd be willing to use Express edition in production situations.
2015-02-27
145 reads
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