Created
January 9, 2020 16:32
-
-
Save mattuu/029bc9a84fa9cba05e749f3a05f8c1b4 to your computer and use it in GitHub Desktop.
Restore SQL Server database
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
USE master; | |
GO | |
ALTER DATABASE [<database_name, varchar(16), database_name>] | |
SET SINGLE_USER WITH ROLLBACK IMMEDIATE; | |
GO | |
DECLARE | |
@DatabaseName nvarchar(16) ='<database_name, varchar(16), database_name>', | |
@BackupPath nvarchar(255) = '<backup_path, varchar(255), backup_path>', | |
@DbFileName nvarchar(255) = '<database_name, varchar(255), database_name>', | |
@LogFileName nvarchar(255) = '<database_name, varchar(255), database_name>_Log', | |
@DataPath nvarchar(255) = '<database_path, varchar(255), database_path>', | |
@DbFullPath nvarchar(255), | |
@LogFullPath nvarchar(255) | |
SET @DbFileName = @DatabaseName + '.mdf' | |
SET @LogFileName = @DatabaseName + '_Log.ldf' | |
SET @DbFullPath = @DataPath + @DbFileName | |
SET @LogFullPath = @DataPath + @LogFileName | |
RESTORE DATABASE @DatabaseName | |
FROM DISK = @BackupPath | |
WITH FILE = 1, | |
MOVE @DbFileName TO @DbFullPath, | |
MOVE @LogFileName TO @LogFullPath, | |
NOUNLOAD, | |
STATS = 10, | |
REPLACE | |
GO | |
USE [<database_name, varchar(16), database_name>] | |
GO | |
IF NOT EXISTS (SELECT 1 FROM master.dbo.syslogins WHERE name = '<login_name, varchar(100), login_name>') | |
BEGIN | |
CREATE LOGIN [<login_name, varchar(100), login_name>] FROM WINDOWS | |
END | |
IF NOT EXISTS (SELECT 1 FROM sys.server_principals WHERE name = '<user_name, varchar(100), user_name>') | |
BEGIN | |
CREATE USER [<user_name, varchar(100), user_name>] FROM LOGIN [<login_name, varchar(100), login_name>] | |
EXEC master..sp_addsrvrolemember @loginame = N'<user_name, varchar(100), user_name>', @rolename = N'sysadmin' | |
END |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment