Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 помогите разобратся в SQLCMD  [new]
startDBA
Member

Откуда:
Сообщений: 174
Привет всем!
помогите разобратся в SQLCMD
файл run.bat приложен...

часть sql кода:
:connect $(PrimaryServer)
PRINT 'BACKUP DB (execute on SOURCE) $(PrimaryServer)'
SELECT @@SERVERNAME
BACKUP DATABASE $(PrimaryDatabase)
TO DISK = N'$(BackupDirectory)\$(PrimaryDatabase).bak'
WITH FORMAT, INIT
GO
PRINT 'FINISH BACKUP DATABASE'; PRINT CHAR(13)

:connect $(SecondaryServer)
PRINT '--------------------------------------------------------------------------------------------';PRINT CHAR(13)
PRINT 'RESTORE COMMAND (execute on TARGET: $(SecondaryServer))'
SELECT @@SERVERNAME

в output command line получаю:
Sqlcmd: Successfully connected to server 'V-SQL2005'.
Sqlcmd: Successfully connected to server 'SQLDEV02'.

в логе:
BACKUP DB (execute on SOURCE) V-SQL2005
V-SQL2005
FINISH BACKUP DATABASE
--------------------------------------------------------------------------------------------
RESTORE COMMAND (execute on TARGET: SQLDEV02)
V-SQL2005

выходит так что несмотря на то что SQLCMD сообшает что я подключаюсь к обоим серверам...на самом деле же я подключаюсь к одному....пару раж получалось так что да было все нормально и я подключался к нужным серверам...
что я упускаю в работе с SQLCMD

К сообщению приложен файл (RUN.bat - 1Kb) cкачать
23 май 11, 12:27    [10693498]     Ответить | Цитировать Сообщить модератору
 Re: помогите разобратся в SQLCMD  [new]
startDBA
Member

Откуда:
Сообщений: 174
startDBA,

bat fail:

@echo off
call C:\temp\TEST_CONTROLM_LS\getdate.bat
SET log_file=%~n0.%yy%-%mm%-%dd%.%hh%-%mn%-%ss%

SET dbname=DBA
SET SERVERNAME=TESTDB04

FOR /F "usebackq tokens=1-15 delims=~" %%a IN (`sqlcmd -w20000 -h-1 -E -S%SERVERNAME% -d%dbname%

-iC:\temp\TEST_CONTROLM_LS\GetParam.sql`) DO (
set PrimaryServer=%%a
set PrimaryDatabase=%%b
set SecondaryServer=%%c
set SecondaryDatabase=%%d
set BackupDirectory=%%e
set BackupShare=%%f
set BackupDestinationDirectory=%%g
set BackupRetentionPeriod=%%h
set BackupThreshold=%%i
set FileRetentionPeriod=%%j
set RestoreDelay=%%k
set RestoreThreshold=%%l
set Restore_mode=%%m
set DisconnectUsers=%%n
set DelPath=%%o
)

ECHO DELETE OLD TRANSACTION LOG FILES ON TARGET SERVER: %SecondaryServer%
DEL %DelPath% /Q

SQLCMD -E -S%SERVERNAME% -v ConfigServer=%SERVERNAME% -v ConfigDB=%dbname% -v PrimaryServer=%PrimaryServer% -v

PrimaryDatabase=%PrimaryDatabase% -v SecondaryServer=%SecondaryServer% -v SecondaryDatabase=%SecondaryDatabase%

-iC:\temp\TEST_CONTROLM_LS\CreateLogShipping.sql -oC:\temp\TEST_CONTROLM_LS\%log_file%.log -b
23 май 11, 12:28    [10693514]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить