Hallo zusammen.
Ich beschäftige mich erst seit kurzem mit dem Programmieren von SQL Replicationen und hab davon nicht sehr viel Ahnung ;) Jetzt habe durch den in den SQL Server integrierten Scriptgenerator ein Script generiert, welches einen Distributor erstellt.
So weit so gut. Nun möchte ich, dass der Benutzer am Anfang des Scripts eine Variable (Server und DBName) einträgt und danach das Script durchläuft. Leider scheint dei Variable nach dem ersten exec bzw go "verloren" zu gehen... Wenn ich die
Variable danach noch einmal benutze, kommt die Meldung das ich die Variable erst Deklarieren muss. Ich hoff ihr wisst was ich meine ;)
Wie kann ich denn eine Variable erstellen, die durch das ganze Script "wirkt"?
Hier ein Teil des Scripts, so wie ich es mir vorgestellt habe:
/****** Scripting replication configuration. Script Date: 6/18/2010 9:49:31 AM ******/
/****** Please Note: For security reasons, all password parameters were scripted with either NULL or an empty string. ******/
/****** Begin: Script to be run at Publisher ******/
/****** Installing the server as a Distributor. Script Date: 6/18/2010 9:49:31 AM ******/
DECLARE @servername AS VARCHAR(30); -- Name des Datenbankservers
DECLARE @datenbankname AS VARCHAR(30); -- Name der Datenbank
SET @servername = N'server0004'; -- Name of the Distributors
SET @datenbankname = N'data0004'; -- Name of the Database
use master
exec sp_adddistributor @distributor = @Servername, @password = N''
GO
-- Adding the distribution databases
use master
exec sp_adddistributiondb @database = @datenbankname, @data_folder = N'E:\MSSQL\Data', @data_file = N'distribution.MDF', @data_file_size = 241, @log_folder = N'F:\MSSQL', @log_file = N'distribution.LDF', @log_file_size = 74, @min_distretention = 0, @max_distretention = 72, @history_retention = 48, @security_mode = 1
GO
-- Adding the distribution publishers
exec sp_adddistpublisher @publisher = @servername, @distribution_db = N'distribution', @security_mode = 0, @login = N'sa', @password = N'', @working_directory = N'C:\Program Files\Microsoft SQL Server\MSSQL10.DEBAESRV16\MSSQL\ReplData', @trusted = N'false', @thirdparty_flag = 0, @publisher_type = N'MSSQLSERVER'
GO
exec sp_addsubscriber @subscriber = N'server0005', @type = 0, @description = N''
GO
exec sp_addsubscriber @subscriber = @servername, @type = 0, @description = N''
GO
/****** End: Script to be run at Publisher ******/
Danke euch wieder einmal im Vorraus ;)