Scripts

Technical Article

From a Delimited String, fetching the nth Value

This User defined Function will provide you the facility of fetching the nth Value from a Delimited string. The Parameter for the function which you have to pass is, the Delimited String, the Delimiter of the string, nth Position of the string. In this function , you can dynamically change the Delimiter as well as […]

You rated this post out of 5. Change rating

2004-10-15 (first published: )

1,454 reads

Technical Article

Automatically Sets Default on Columns

If you set up a default on a column AFTER data has been entered, then this procedure will apply    the default to all NULL values within that column. Limitations:     It only works with numeric values right now.You will also need the INSTR function, which you can also get from this site.This is my first […]

You rated this post out of 5. Change rating

2004-10-13 (first published: )

104 reads

Technical Article

check rerun status of failed/cancelled jobs

There are times when you have mulitple job failures and need to find out in a quick way which jobs/steps failed and what their rerun statuses are.  This script creates a stored procedure in the msdb db to help you find out the statuses of these jobs.

You rated this post out of 5. Change rating

2004-10-12 (first published: )

154 reads

Technical Article

Utility proc for updating (sub) sequence columns

This is a utility proc that I use a lot for datawarehouse transformation/load processing. This is a generic proc for resequencing an integer column in sorted order within a given key combination.Note that 'key' is used here in a general context and not specific, that is there doesn't have to be any keys or indexes […]

You rated this post out of 5. Change rating

2004-10-12

90 reads

Technical Article

Generating random numbers in a range, sql2k

This script will generated random numbers within a choosen Upper and LowerBound. I'v created a random number (int's) generator since i couldnt find a script which exactly did what I was searching for. The RAND function seems to do repetive patterns, so i created a new function based on the NEWID function.After running the two […]

You rated this post out of 5. Change rating

2004-10-08 (first published: )

395 reads

Technical Article

Delete All

Here is a simpler version of the Delete All Script that was posted on 2004-10-07.Be careful it does what it is supposed to do delete all tables from the current database

You rated this post out of 5. Change rating

2004-10-07

108 reads

Technical Article

Dynamic Data Paging

I've search high and low on the Internet for good examples of Paging Data in an application. However, none of the Examples were clean enough, or worked for all situations. For example, there are no examples of Data Paging for Tables with Composite Keys.This Script is able to page Data on any Table, using any […]

You rated this post out of 5. Change rating

2004-10-07

338 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