Blackhawk50000
Erfahrenes Mitglied
Hallo, ich wollte mal fragen ob es möglich ist eine Datenbank mit einer einzigen Stored Procedure auf einen anderen DatenbankServer zu übertragen.
Das ganze ist für folgendes Gut:
Ich habe ein Test System. Auf diesem testsystem ist die Fertige laufende Datenbank. Diese will ich einfach per Aufruf der SP auf den Live Server übertragen.
ich habe schon eine Procedure die mir eine Komplett neue Datenbank aus einer Blanken Vorlagedatenbank erstellt.
Das sieht so aus:
Aber wie bekomme ich Datenbank A vom Server A auf Datenbank A vom Server B?
Das ganze ist für folgendes Gut:
Ich habe ein Test System. Auf diesem testsystem ist die Fertige laufende Datenbank. Diese will ich einfach per Aufruf der SP auf den Live Server übertragen.
ich habe schon eine Procedure die mir eine Komplett neue Datenbank aus einer Blanken Vorlagedatenbank erstellt.
Das sieht so aus:
Code:
USE [***Master]
GO
/****** Object: StoredProcedure [dbo].[CreateNewDatabase] Script Date: 09/14/2012 08:10:16 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[CreateNewDatabase]
-- Add the parameters for the stored procedure here
@DataBaseName VARCHAR(50),
@ClubNumber int,
@ClubName VARCHAR(max),
@ClubStreet VARCHAR(max),
@ClubPostCode_City VARCHAR(max),
@SQLServerPath VARCHAR(max)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
SET NOCOUNT ON;
IF NOT EXISTS(SELECT * FROM sys.databases WHERE name = @DataBaseName)
BEGIN
DECLARE @backupPath VARCHAR(max)
SET @backupPath=@SQLServerPath + '\Backup\Blank_SIKO'
BACKUP DATABASE [***_blank]
TO DISK = @backupPath
WITH NOFORMAT,
INIT,
NAME = N'CVPnet_blank-Vollständig Datenbank Sichern',
SKIP,
NOREWIND,
NOUNLOAD,
STATS = 10
exec('CREATE DATABASE ' + @DataBaseName)
DECLARE @mdfPath VARCHAR(200)
SET @mdfPath = @SQLServerPath + '\DATA\' + @DataBaseName + '.mdf'
DECLARE @ldfPath VARCHAR(200)
SET @ldfPath = @SQLServerPath + '\DATA\' + @DataBaseName + '.ldf'
exec ('ALTER DATABASE '+@DataBaseName+ ' SET SINGLE_USER WITH ROLLBACK IMMEDIATE')
----Restore Database
RESTORE DATABASE @DataBaseName
FROM DISK = @backupPath
WITH MOVE '***_BLANK' TO @mdfPath,
MOVE '***_BLANK_log' TO @ldfPath,
NOUNLOAD,
REPLACE,
STATS = 10
/*If there is no error in statement before database will be in multiuser
mode.
If error occurs please execute following command it will convert
database in multi user.*/
exec ('ALTER DATABASE '+@DataBaseName+' SET MULTI_USER')
INSERT INTO Datenbanken
(Vereinsnummer, Vereinsname, Datenbank)
VALUES
(@ClubNumber, @ClubName, @DataBaseName)
exec
(
'UPDATE ' + @DataBaseName + '..' + 'VEREIN' +
' SET VER_NAME = ''' + @ClubName +
''', VER_STRASSE = ''' + @ClubStreet +
''', VER_PLZORT = ''' + @ClubPostCode_City + ''';'
)
END
END
Aber wie bekomme ich Datenbank A vom Server A auf Datenbank A vom Server B?