Scripts

Technical Article

usp_ToggleDatabases

usp_ToggleDatabases is a simple procedure that will switch the names of two databases.One of the main problems with using sp_renamedb to switch databases is that the procedure will wait until the database is free before the rename can be completed. If the new live database is also in use then there is a likelyhood that […]

(1)

You rated this post out of 5. Change rating

2005-08-04 (first published: )

501 reads

Technical Article

Replication PreScreen for proper Primary Keys

THIS TABLE WILL HODL YOUR TABLENAME AND UP TO THREE KEY COLUMNS FOR CREATING YOUR PRIMARY KEYSTHE OTHER COLUMNS ARE USED IN PROCESSING THE KEY'S AND GENERATING THE ALTER TABLE ASTATEMENTS TOCREATE THE PRIMARY KEYS FOR YOUR DB. THIS TOOL IS HANDY FOR PREPPING FOR A REPLICATION STRATEGY TO HELP YOU QUICKLY INDENTIFY IF YOU […]

You rated this post out of 5. Change rating

2005-08-03 (first published: )

378 reads

Technical Article

LOG SHIPPING FROM SCRATCH

We were experiencing significant issues with Cross Domain Log Shipping, even after getting help from Microsoft. The main reason was that in SQL Server 2000 you cannot access the Log Shipping Wizard from a scripting interface. This set of stored Procedures is all you need to setup a good log shipping framework in your organization […]

You rated this post out of 5. Change rating

2005-08-01 (first published: )

3,036 reads

Technical Article

Generate Insert Statements

If you wish to save the contents of your database as insert statements, this script will generate a text file that has all data formatted as insert statements. This way you can save off the data as a script to send to a client or combine with a create script to rebuild the database on […]

You rated this post out of 5. Change rating

2005-07-29 (first published: )

876 reads

Technical Article

Generate Quick Snapshot of table structures.

I use this script to quickly compare databases. In the past, I would generate creation scripts and compare those but that is tedious at best. This script generates a report of the metadata in an easy to read format that includes...- Table and Field Listing with types.- Foreign Key information- Primary Key and Index information- […]

(1)

You rated this post out of 5. Change rating

2005-07-28 (first published: )

593 reads

Technical Article

Find Nth Max-Min Record - The Efficient Way!

It is quite often that we need to find Nth (5th or 8th or 10th) maximum or minimum number of record from the record set. The solution is different in MS SQL than in Oracle because we have RowNum in Oracle. Some time ago I got the same problem with a massive table of more […]

You rated this post out of 5. Change rating

2005-07-22 (first published: )

1,066 reads

Technical Article

Deleting Sets of Rows in huge table

There was a problema user was reflecting http://groups.yahoo.com/group/sqlcon/message/1119What I did was following steps1. Divide the count of table into segments for divide2. Then use the even Odd functionality for smooth looping3. Use a simple while loop and SET ROWCOUNT functionality for further deletions across table with checkpoint4. It saved the log swell up and resources […]

You rated this post out of 5. Change rating

2005-07-20 (first published: )

278 reads

Technical Article

Sproc to get First Day of the Month,First Weekday ETC

First Day of the Month, First Weekday, Total Days in this Month, Days In First WeeK, Days In Last Week,Total Weekend Days sample output: Given Date:Jul 16 2005 12:00AM First Day of the Month:7/1/2005 First Weekday (sun=1,sat=7):6 Total Days in this Month:31 Days In First Week:2 Days In Last Week:1 Total Weekend Days:10

You rated this post out of 5. Change rating

2005-07-15 (first published: )

225 reads

Blogs

How AgentDBA Diagnoses SQL Server Issues Fast

By

Not every production incident is a database in RECOVERY_PENDING or a corrupted event (like...

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,...

Read the latest Blogs

Forums

Extreme DAX: Take your Power BI and Fabric analytics skills to the next level

By Steve Jones - SSC Editor

Comments posted to this topic are about the item Extreme DAX: Take your Power...

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

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