Scripts

Technical Article

Get all Tables and Columns for each Database

This script will get the name of each database from master..sysdatabases, then use each database's Information Schemata to get the tables and columns in each of the databases. Several recent requests for assistance have used this to answer their needs. I ran it across 245 databases and pulled back 1.4 million results in about 30 […]

(1)

You rated this post out of 5. Change rating

2004-04-15

1,341 reads

Technical Article

Script and Export (via BCP) SQL Tables

Script via OLE Automation and Export via BCP.  Check for existance of object, checks count of table with count of exported file (reads BCP output).  Will do DBCC UPDATEUSAGE if at first the SQL record count does not match BCP count.  Full options for scripting (with w/o indexes, Referential integrity, etc).  REQUIRES ADMIN ACCESS - […]

(2)

You rated this post out of 5. Change rating

2004-04-15

2,519 reads

Technical Article

Write Text File

Adapted from Rodrigo Acosta's script which exports to a text file the text of SPs.  Parameters are the table/view name (may include a WHERE clause) , the output file path/name, and an optional list of fields (may include user-defined functions,cast/convert,etc..., the default is '*').

You rated this post out of 5. Change rating

2004-04-06

618 reads

Technical Article

SP to find text in code objects in all user db's.

This script creates a stored procedure which helps to find text in all of your code objects in all your databases. It searches the code of SP's, UDF's, views, triggers, and it searches in all databases.Output is a result set with DbName, ObjectName and ObjectType.Advantages are- works reliable also with source codes longer than 4000 […]

You rated this post out of 5. Change rating

2004-03-31

280 reads

Technical Article

Script object or user permissions

script useful for copying permissions from one database to another like test to production.Tim Stahlhut SEE sp_helprotect for params meaning Note: If you wish to script system object permission remove 'IsMSShipped' block of code. Fixed missing code & re-formatted it to look better.

You rated this post out of 5. Change rating

2004-03-26

346 reads

Technical Article

Search For SPs which contain a specific String.

This Stored Procedure is for Searching all the user defined Stored Procedures in a database for the existence of a specified string . This is especially useful when you have changed some Column name and want to Find the Column Name in all the Stored Procedures where it is used, so it will return you […]

You rated this post out of 5. Change rating

2004-03-26

839 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