Scripts

Technical Article

Function To Retrieve Last Index

This Function Enables the user to retrieve the Last Index of the character/string in a predetermined string.Eg If you want search for the Last Occurance of 'SQL' in 'SQL SERVER2000 USES ANSI SQL' thenSELECT dbo.LastIndexOf('SQL SERVER2000 USES ANSI SQL','SQL')will return 26.Tested Only in SQL SERVER2000

(3)

You rated this post out of 5. Change rating

2004-03-25

2,814 reads

Technical Article

Funcs for Date Formatting (Like Oracle TO_CHAR)

Function RJZeroN is used for formatting integer numbers as right-justified strings with leading zeroes according to a specified size (max 20 characters which will hold the largest BIGINT value).  A NULL value is returned if the formatting cannot be done according to the values specified.Example: Format a 3-digit number as a 7-character numberstring with leading […]

You rated this post out of 5. Change rating

2004-03-24

965 reads

Technical Article

SP to enable, disable or list all Triggers in  DB

SQL 7.0 and 2000 modified version of Rodrigo Acosta (racosta) Argentina Script that enable,disable or list all the Triggers in the given database. If enable or disable are specified, finds all the triggers of all the tables and enable or disable them, After that, it list all the triggers with it´s current state. If List […]

You rated this post out of 5. Change rating

2004-03-19

173 reads

Technical Article

Function to encript password

If you need to save password for you application in tables, with this function you can save them encripted. And with another published function (check the page to find the script) you can desencript it. The function receives the password,  modifies every character and returns the encripted password.

You rated this post out of 5. Change rating

2004-03-18

601 reads

Technical Article

Drop Indexes

This script drop all indexes from table, including Primary Key contraint. First it del nonclustered indexes, then clustered and at last - drops PK contraint. This scirpt is useful, when you need drop all indexes, like when doing ETL process.

(1)

You rated this post out of 5. Change rating

2004-03-17

543 reads

Technical Article

Difference between dates with thousands separators

This function calculates the time difference between 2 datetimes and displays the results in the following format:H,HHH,HHH:MM:SSThe return is a 15 character field that is left padded with spaces so that the field becomes right justified.  This makes the colons line up for easy reading.  Commas are automatically added as thousands separators as needed by […]

(2)

You rated this post out of 5. Change rating

2004-03-14

439 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