handling data and log destination
Added exception to the destination of data files for 2 machines
This commit is contained in:
@@ -38,6 +38,35 @@ BEGIN CATCH
|
|||||||
END CATCH
|
END CATCH
|
||||||
';
|
';
|
||||||
|
|
||||||
|
Declare @DataDir nvarchar(4000),
|
||||||
|
@LogDir nvarchar(4000),
|
||||||
|
@BakDir nvarchar(4000),
|
||||||
|
@FTDir nvarchar(4000)
|
||||||
|
|
||||||
|
Exec xp_instance_regread N'HKEY_LOCAL_MACHINE',
|
||||||
|
N'Software\Microsoft\MSSQLServer\MSSQLServer',
|
||||||
|
N'DefaultData',
|
||||||
|
@DataDir output,
|
||||||
|
'no_output'
|
||||||
|
|
||||||
|
Exec xp_instance_regread N'HKEY_LOCAL_MACHINE',
|
||||||
|
N'Software\Microsoft\MSSQLServer\MSSQLServer',
|
||||||
|
N'DefaultLog',
|
||||||
|
@LogDir output,
|
||||||
|
'no_output'
|
||||||
|
|
||||||
|
Exec xp_instance_regread N'HKEY_LOCAL_MACHINE',
|
||||||
|
N'Software\Microsoft\MSSQLServer\MSSQLServer',
|
||||||
|
N'BackupDirectory',
|
||||||
|
@BakDir output,
|
||||||
|
'no_output'
|
||||||
|
|
||||||
|
Exec xp_instance_regread N'HKEY_LOCAL_MACHINE',
|
||||||
|
N'Software\Microsoft\MSSQLServer\MSSQLServer',
|
||||||
|
N'FullTextDefaultPath',
|
||||||
|
@FTDir output,
|
||||||
|
'no_output'
|
||||||
|
|
||||||
DECLARE csrDb CURSOR FAST_FORWARD READ_ONLY FOR
|
DECLARE csrDb CURSOR FAST_FORWARD READ_ONLY FOR
|
||||||
SELECT [d].[name]
|
SELECT [d].[name]
|
||||||
FROM sys.databases d
|
FROM sys.databases d
|
||||||
@@ -60,9 +89,17 @@ BEGIN
|
|||||||
RAISERROR ('No dump device named %s exists', 16, 1, @dump);
|
RAISERROR ('No dump device named %s exists', 16, 1, @dump);
|
||||||
END
|
END
|
||||||
ELSE
|
ELSE
|
||||||
|
IF @@SERVERNAME IN ('SWAMA707VM01\APSSQL','SWSUN004VM01\APSSQL')
|
||||||
|
BEGIN
|
||||||
|
SET @dump = replace('DISK = N''g:\@dbName@.bak''','@dbName@',@dbname);
|
||||||
|
END
|
||||||
|
ELSE
|
||||||
|
BEGIN
|
||||||
|
SET @dump = '['+@dbName+'_dump]';
|
||||||
|
END
|
||||||
BEGIN
|
BEGIN
|
||||||
SET @query_bkp = @query_bkp + REPLACE(REPLACE('
|
SET @query_bkp = @query_bkp + REPLACE(REPLACE('
|
||||||
BACKUP DATABASE [@dbname@] TO [@dump@] WITH COPY_ONLY, NOFORMAT, NOINIT, NAME = N''@dbname@-Full Database Backup'', SKIP, NOREWIND, NOUNLOAD, STATS = 10;
|
BACKUP DATABASE [@dbname@] TO @dump@ WITH COPY_ONLY, NOFORMAT, NOINIT, NAME = N''@dbname@-Full Database Backup'', COMPRESSION, SKIP, NOREWIND, NOUNLOAD, STATS = 10;
|
||||||
'
|
'
|
||||||
,'@dbname@'
|
,'@dbname@'
|
||||||
,@dbName)
|
,@dbName)
|
||||||
@@ -84,8 +121,14 @@ BACKUP DATABASE [@dbname@] TO [@dump@] WITH COPY_ONLY, NOFORMAT, NOINIT, NAME =
|
|||||||
WHERE DB_NAME([F].[database_id]) = @dbName
|
WHERE DB_NAME([F].[database_id]) = @dbName
|
||||||
AND type_desc = 'LOG'
|
AND type_desc = 'LOG'
|
||||||
|
|
||||||
SET @query_rest = @query_rest +REPLACE(REPLACE(REPLACE(REPLACE('
|
IF @@SERVERNAME IN ('SWTSTDB01\APSSQL')
|
||||||
RESTORE DATABASE [@dbname@_delphix] FROM [@dump@] WITH FILE = 1, REPLACE, MOVE N''@file_row@'' TO N''F:\SQLDataBase\@dbname@_delphix.mdf'', MOVE N''@file_Log@'' TO N''G:\SQLDataBase\@dbname@_delphix_1.ldf'', NOUNLOAD, STATS = 5;
|
BEGIN
|
||||||
|
SET @dataDir = 'e:\SQLDatabase\';
|
||||||
|
END
|
||||||
|
|
||||||
|
SET @query_rest = @query_rest +REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE('
|
||||||
|
RESTORE DATABASE [@dbname@_delphix] FROM @dump@ WITH FILE = 1, REPLACE, MOVE N''@file_row@'' TO N''@dataDir@\@dbname@_delphix.mdf'', MOVE N''@file_Log@'' TO N''@logDir@\@dbname@_delphix_1.ldf'', NOUNLOAD, STATS = 5;
|
||||||
|
ALTER DATABASE [@dbname@_delphix] SET RECOVERY SIMPLE WITH ROLLBACK IMMEDIATE;
|
||||||
'
|
'
|
||||||
,'@dbname@'
|
,'@dbname@'
|
||||||
,@dbName)
|
,@dbName)
|
||||||
@@ -98,7 +141,16 @@ RESTORE DATABASE [@dbname@_delphix] FROM [@dump@] WITH FILE = 1, REPLACE, MOVE
|
|||||||
|
|
||||||
,'@file_row@'
|
,'@file_row@'
|
||||||
,@file_row
|
,@file_row
|
||||||
);
|
)
|
||||||
|
|
||||||
|
,'@dataDir@'
|
||||||
|
,@dataDir
|
||||||
|
)
|
||||||
|
|
||||||
|
,'@logDir@'
|
||||||
|
,@logDir
|
||||||
|
)
|
||||||
|
;
|
||||||
|
|
||||||
--permissions
|
--permissions
|
||||||
SELECT @query_perms = @query_perms + REPLACE(REPLACE(
|
SELECT @query_perms = @query_perms + REPLACE(REPLACE(
|
||||||
@@ -120,9 +172,9 @@ CLOSE csrDb;
|
|||||||
DEALLOCATE csrDb;
|
DEALLOCATE csrDb;
|
||||||
|
|
||||||
|
|
||||||
--PRINT @query_bkp;
|
PRINT @query_bkp;
|
||||||
--PRINT '--------------------------------'
|
PRINT '--------------------------------'
|
||||||
--PRINT @query_rest
|
PRINT @query_rest
|
||||||
--PRINT '--------------------------------'
|
--PRINT '--------------------------------'
|
||||||
--PRINT @query_perms
|
--PRINT @query_perms
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user