« Wie man sich selber eine Grube gräbt ... (4) | Main| Aus 1 mach 4 oder »

Manchmal unter gewissen Umständen kann es vorkommen

0
Category  

daß man eine Datenbank kopieren möchte, aber dies nicht über das Management Studio oder ein DTS machen möchte bzw. kann.

Hierzu folgende StoredProc:

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

ALTER PROCEDURE [dbo].[SP_COPY_DATABASE] (@DbName varchar(100), @NewDbName varchar(100))


AS
declare @DataName as varchar ( 100 )
declare @LogName as varchar ( 100 )
declare @DataPath as varchar ( 100 )
declare @LogPath as varchar ( 100 )
set @DataName = ( select top 1 name from sysfiles where filename like '%.mdf%' )
set @LogName = ( select top 1 name from sysfiles where filename like '%.ldf%' )
set @DataPath = ( select top 1 filename from sysfiles where filename like '%.mdf%' )
set @LogPath = ( select top 1 filename from sysfiles where filename like '%.ldf%' )
set @DataPath = replace ( @DataPath , @DBName , @NewDBName)
set @LogPath = replace ( @LogPath , @DbName , @NewDBName)
if exists ( select * from master . dbo . sysdevices where name = 'CopyBackup' )
exec master . dbo . sp_dropdevice CopyBackup
EXEC sp_addumpdevice 'disk' , 'CopyBackup' , 'CopyBackup.bak'
BACKUP DATABASE @DbName TO CopyBackup WITH NOFORMAT, INIT, NAME = N'KOPIE', SKIP, NOREWIND, NOUNLOAD, STATS = 10
RESTORE DATABASE @NewDbName FROM CopyBackup
WITH FILE = 1 ,
MOVE @DataName TO @DataPath ,
MOVE @LogName TO @LogPath ,
NOUNLOAD ,
STATS = 10
if exists ( select * from master . dbo . sysdevices where name = 'CopyBackup' )
exec master . dbo . sp_dropdevice CopyBackup

Gruß und Viel Spaß!
JJR

Post A Comment

:-D:-o:-p:-x:-(:-):-\:angry::cool::cry::emb::grin::huh::laugh::lips::rolleyes:;-)

Amazon


Impressum

Firmenname: Peanuts-Soft
Straße Nummer: Biinger Strasse 8
PLZ Ort: 55263 Wackernheim
Telefon: +491772134526
E-Mail: joerg.reck @ peanuts-soft.de
Disclaimer: Peanuts-Soft übernimmt keine Garantie dafür, dass die auf dieser Website bereitgestellten Informationen vollständig, richtig und stets aktuell sind. Dies gilt auch für alle Links, auf die verwiesen wird. Peanuts-Soft ist für die Inhalte, auf die per Link verwiesen wird, nicht verantwortlich. Peanuts-Soft haftet nicht für konkrete, mittelbare und unmittelbare Schäden oder Schäden, die durch fehlende Nutzungsmöglichkeiten, Datenverluste oder entgangene Gewinne – sei es aufgrund der Nichteinhaltung vertraglicher Verpflichtungen, durch Fahrlässigkeit oder eine andere unerlaubte Handlung – im Zusammenhang mit der Nutzung von Dokumenten oder Informationen bzw. der Erbringung von Dienstleistungen entstehen, die auf dieser Web Site zugänglich sind.
Datenschutz: Inhalt und Gestaltung der Internetseiten sind urheberrechtlich geschützt. Eine Vervielfältigung der Seiten oder deren Inhalte bedarf der vorherigen schriftlichen Zustimmung von Peanuts-Soft.


Locations of visitors to this page

Powered By

Domino BlogSphere
Version 3.0.2