Monday, October 13, 2014

SINGLE_USER Mode Backup RESTORE

This code puts a database in SINGLE_USER mode and runs a backup. This is for when I cannot drop connections fast enough:

ALTER DATABASE [DBName]
SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
RESTORE DATABASE [DBName] FROM DISK =
'C:\Program Files\Microsoft SQL Server\Blahblahblah\MSSQL\Backup\DBName.BAK'
GO

If a DB gets stuck in Single User more:

ALTER DATABASE  [DBName]
SET MULTI_USER
WITH ROLLBACK IMMEDIATE
GO

SINGLE_USER Mode Backup

This code puts a database in SINGLE_USER mode and runs a backup. This is for when I cannot drop connections fast enough:

ALTER DATABASE [DBName]
SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
RESTORE DATABASE [DBName] FROM DISK =
'C:\Program Files\Microsoft SQL Server\Blahblahblah\MSSQL\Backup\DBName.BAK'
GO

If a DB gets stuck in Single User more:

ALTER DATABASE  [DBName]
SET MULTI_USER
WITH ROLLBACK IMMEDIATE
GO

Friday, October 03, 2014

Creating a common role with GRANT

USE DB_Name

CREATE ROLE ReaderRole;
GO

GRANT EXECUTE ON SCHEMA :: dbo TO ReaderRole;
GRANT SELECT ON SCHEMA :: dbo TO ReaderRole;

GO
CREATE ROLE WriterRole;
GO

GRANT INSERT ON SCHEMA :: dbo TO WriterRole;
GRANT UPDATE ON SCHEMA :: dbo TO WriterRole;
GRANT EXECUTE ON SCHEMA :: dbo TO WriterRole;
GRANT SELECT ON SCHEMA :: dbo TO WriterRole;
or
GRANT SELECT ON SCHEMA :: dbo TO [Domain\User];