Scripts

Technical Article

Search for a string in a procedure, trigger or fun

This is an extension of two previous scripts, this one will produce a list of ojects that contain the first parameter and not the second. The function works as a table so if the user wants to list only functions, query as: select * from fn_sys_searchobject('text1','text2') where object_type = 'function'

You rated this post out of 5. Change rating

2004-08-19 (first published: )

121 reads

Technical Article

List User 's Permissions in Database

Do you ever need to look for a given user's permissions for security reasons or move the permissions for that user from test environment to production? This is a script, which will generate print statements, which can be use to view/grant, the permissions of all dbo objects, which the given user has, which is not […]

You rated this post out of 5. Change rating

2004-08-16 (first published: )

618 reads

Technical Article

Locate missing columns across entire server

This script will help you locate columns that you provide in a comma delimited format.  You pass it as few or as many columns as you want in the following format: ',,....' and this will generate you a report that states which database, and table each column you passed is in. 

You rated this post out of 5. Change rating

2004-08-13 (first published: )

133 reads

Technical Article

DATABASE / TABLE SIZE ESTIMATER

The code in this procedure takes standard formula’s given by Microsoft and calculates approximate size of a table as per the fields  & indexs on that table. The procdure can be quickly be used in a loop to work for entire database. Refer to article http://msdn.microsoft.com/library/default.asp?url=/library/en-us/createdb/cm_8_des_02_92k3.asp for the actual document containing the formula’s used.There are […]

(1)

You rated this post out of 5. Change rating

2004-08-11 (first published: )

2,945 reads

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