Scripts

Technical Article

Calculate row length of table(s)

This procedure will be useful for developers/ database designers / DBAs to find the rowlength instantly.To find the row length of a user table, just copy this script into Query analyser and pass the table name for which you want to find the rowlength. @TabName is the table name parameter, if we donot provide this […]

(4)

You rated this post out of 5. Change rating

2002-04-25

2,917 reads

Technical Article

DTS-Less and Jobless Approach to Table Freshness

How about getting the data when the table data is first queried?  The following script checks to see if the specified table (@MyTable) has been updated today.  If so, just return the data found.  If not, then get the data from a "fresher source".  Great for ASP that performs table reporting and needs "baked daily" […]

You rated this post out of 5. Change rating

2002-04-23

1,564 reads

Technical Article

Generate Delete Stored Procedure

This procedure will generate a delete stored procedure against a provided table and column name in your database.  It will search for foriegn key constraints and create a delete statement for each one found in the database.  The procedure has three parameters:@table_name nvarchar(128) = the name of the source table@column_name nvarchar(128) = the name of […]

You rated this post out of 5. Change rating

2002-04-22

293 reads

Technical Article

List Network Share Directories Quickly

Need a quick way to list shared folders?  Do it in one call.  Great for ASP page popups and user drop-down lists.Let's say that you want to display a list of projects, just call usp_GET_ProjectFolder and VIOLA! Only works with 2k; however, can be ported to ss7 if the udf is ported to a proc […]

You rated this post out of 5. Change rating

2002-04-22

361 reads

Technical Article

Report table and column-level extended properties

SQL Server 2000's extended properties provide an easy way to store your data dictionary documentation within the database itself. This stored proc provides an easy way to extract all the table and column-level descriptions from those system tables for reporting purposes. This procedure can easily be modified to provide additional information to suite your needs. […]

You rated this post out of 5. Change rating

2002-04-22

260 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