Maintenance and Management

Technical Article

#sp_shrinkdata

  • Script

Unlike shrinking transaction log, shrinking a data file seems to be tough. A lot of people complained about the "shrink database" option in EM not working, or DBCC SHRINKDATABASE not working, or DBCC SHRINKFILE not working. I have found that a data file will eventually shrink given enough try, time and patience. I've put everything […]

You rated this post out of 5. Change rating

2003-01-14

414 reads

Technical Article

Inherriting objects from an updated MODEL database

  • Script

If new objects are created in the model database then these new objects only get created for new databases.Similarly, if objects are removed from user databases then getting them back into the database can be a pain.The following two stored procs copy objects from model to the current database if they do not already exist.

You rated this post out of 5. Change rating

2003-01-10

44 reads

Technical Article

Copying Backups using XP_CMDSHELL

  • Script

This script is designed to backup the database, and copy it over the network to our backup server.  The requirement for this particular database is 7 days of data kept on the LAN.  The share on the backup server is mapped to the Y:\ drive.  The datename function is used over the datepart function for […]

You rated this post out of 5. Change rating

2002-12-08

369 reads

Technical Article

Setting permissions (Updated: UDF's now set)

  • Script

Here is a script I wrote to automate updating of permission on a database. Often running as sa I forget to set the rights for objects when distributing db objects. It provides the capability to process only certain object types, and whether or not to print and execute the persmissions change or just print out […]

You rated this post out of 5. Change rating

2002-11-22

454 reads

Technical Article

Grant/Revoke EXEC permissions  for all procs in DB

  • Script

Useful in dev environments when you need to periodically assign execute permissions on all procs in a db (drop/create scripts may have been run without re-assigning permissions)Accepts DB name, ProcLike for matching 'starts with' pattern against proc names in DB, revoke (optional - defaults to 0/True) specifies wheter to GRANT or REVOKE permissions

You rated this post out of 5. Change rating

2002-11-21

402 reads

Technical Article

DBA_EverywhereRun

  • Script

Runs a SQL statement against each database based on a LIKE pattern for the name of the database.Features:* IsLike and IsNotLike parameters let you specify both a matching pattern and an exclusion pattern for the database name.* Script_Only mode generates the script of what the stored proc executes.  Especially useful for DDL statements.* List_Only mode […]

You rated this post out of 5. Change rating

2002-11-14

400 reads

Technical Article

sp_kill

  • Script

This stored proc has helped me a lot when I needed to restore db, reconfigure replication, and do other database jobs. SQL server KILL command can only act on a single spid. This sp compiles KILL commands in a cursor to kill a group of spids based on database name, login name, host machine name […]

You rated this post out of 5. Change rating

2002-11-11

6,141 reads

Blogs

The Book of Redgate: Profits

By

Redgate is a for-profit company. We look to make money by building and selling...

Session Materials for Techorama & DataGrillen 2026

By

I’ve uploaded the slides for my Techorama session Microsoft Fabric for Dummies and my...

Stop Using Pandas for Aggregations — Try DuckDB Instead

By

If you've ever loaded a 2 GB CSV into pandas just to run a...

Read the latest Blogs

Forums

Even When You Know What You're Doing, You Can Screw Up

By Grant Fritchey

Comments posted to this topic are about the item Even When You Know What...

The New Software Team

By Steve Jones - SSC Editor

Comments posted to this topic are about the item The New Software Team

Database Mail in SQL Server 2022

By Abdellateef Ibrahim

Comments posted to this topic are about the item Database Mail in SQL Server...

Visit the forum

Question of the Day

The string_agg function

We create the following table and then insert some records in it:

create table t1 (
   id int primary key,
   category char(1) not null,
   product varchar(50)
);

insert into t1 values
(1, 'A', 'Product 1'),
(2, 'A', 'Product 2'),
(3, 'A', 'Product 3'),
(4, 'B', 'Product 4'),
(5, 'B', 'Product 5');
What happens if we execute the following query in both Sql Server and PostgreSQL?
select id, 
category, 
string_agg(product, ';')
                 over (partition by category order by id
                 rows between unbounded preceding and unbounded following) as stragg
from t1;

See possible answers