Showing posts with label transactional. Show all posts
Showing posts with label transactional. Show all posts

Tuesday, March 27, 2012

Failed to launch 'osql'

I use one-way Transactional Replication on 38 servers with same configuration.
On one server I have problem with OSQL.EXE path.

On
Publication properties ->
snapshot ->
Additional scripts ->
Before applying the snapshot, execute this script:
Is set preinit script (C:\ReplData\ReplPreInit.sql).

On Distribution agent properties -> step "Run Agent"
I set additional command for log problem.
command= -Output C:\ReplOutFile.txt -Outputverboselevel 2

Here is part of ReplOutFile.txt:
--
The osql command is: "C:\Program Files\Microsoft SQL Server\80\Tool\Binn\osql.exe" -U"***" -P"***" -i "\\STROSBB\ReplData\unc\STROSBB_antikor_DataCDB\20060908104051\ReplPreInit_0.sql" -S "BTSVR" -d "AntikorCDB" -o "C:\WINNT\TEMP\ReplPreInit_0.sql_20060912150416.log" -b -X1
Launching osql to apply the script 'ReplPreInit_0.sql'
[9/12/2006 3:04:16 PM]STROSBB.distributionAntikor: {call sp_MSadd_distribution_history(1, 3, ?, ?, 0, 0, 0.00, 0x00, 1, ?, 0, 0x01, 0x00)}
Agent message code 20130. Failed to launch 'osql'
[9/12/2006 3:04:16 PM]STROSBB.distributionAntikor: {call sp_MSadd_distribution_history(1, 6, ?, ?, 0, 0, 0.00, 0x01, 1, ?, 4, 0x01, 0x01)}
Adding alert to msdb..sysreplicationalerts: ErrorId = 1233,
Transaction Seqno = 00000491000618f4007000000001, Command ID = 4
Message: Replication-Replication Distribution Subsystem: agent STROSBB-antikor-BTSVR-1 failed. Failed to launch 'osql'[9/12/2006 3:04:16 PM]STROSBB.distributionAntikor: {call sp_MSadd_repl_alert(3, 1, 1233, 14151, ?, 4, N'STROSBB', N'antikor', N'BTSVR', N'AntikorCDB', ?)}
ErrorId = 1233, SourceTypeId = 3
ErrorCode = '3'
ErrorText = 'The system cannot find the path specified.
--

Problem is that the path to osql command in log ReplOutFile.txt is
C:\Program Files\Microsoft SQL Server\80\Tool\Binn\
but SQL is installed on path
C:\Program Files\Microsoft SQL Server\80\Tools\Binn\

Diferences is between Tool vs. Tools

I think that when server create OSQL command for preinit sql script he use STATIC path to osql.exe and there is my problem.

Where is this path stored and can I change it?

Hi Marco, the osql path was constructed based on the value of HKLM\Software\Microsoft\Microsoft SQL Server\80\ClientSetup\SQLPath (+"\Binn\osql.exe") so you may want to check whether the registry value correctly reflects how SQL Server is set up on the machine where the distribution agent is running.

-Raymond

|||

In my server was registry path:

HKLM\Software\Microsoft\Microsoft SQL Server\80\Tools\ClientSetup\SQLPath

Many Thanks.

Wednesday, March 21, 2012

Failed Replication

I use SQL2000 and Transactional Replication from server A to B. It is
success to replicate the changes in "Add" and "Deleted" records. But, if I
change the record in server A and then find that fails to replicate. In "Log
Reader" in server A, I can see 1 log is delivered but no any changes in
target. It hasn't any error in log.
Then I tried to rename both tables in server A and B and build the
replication again. It's in normal operation. i.e. Add/Change/Delete are also
ok in replication. Once use back the original table name, it fails to do
"update" replication.
Please advise. Thanks.
Tommy,
can you do an update and check the MSrepl_commands table by using
sp_browsereplcmds. Also, have a look at the article properties (elipsis
button) and check the commands section. It might be that somehow NONE has
been set for the updates. Finally, check that there are no triggers set on
the table which are preventing updates.
Cheers,
Paul Ibison SQL Server MVP, www.replicationanswers.com
(recommended sql server 2000 replication book:
http://www.nwsu.com/0974973602p.html)