Trying to update a table on a linked server (SQL 2000/2005) but my server name will not be known ahead of time. I m trying this:
DECLARE @Sql NVARCHAR(4000)
DECLARE @ParamDef NVARCHAR(4000)
DECLARE @SERVER_NAME VARCHAR(35)
SET @Sql = UPDATE
@server_name_param.dba_sandbox.dbo.SomeTable
SET SomeCol= data
SET @ParamDef = N @server_name_param VARCHAR(35)
print @Sql
exec sp_executesql @Sql, @ParamDef, @server_name_param=@SERVER_NAME
Which returns this:
UPDATE
@server_name_param.dba_sandbox.dbo.SomeTable
SET SomeCol= data
Msg 170, Level 15, State 1, Line 2
Line 2: Incorrect syntax near . .
Any ideas? Is there anyway I view the SQL statement that is being executed after the parameters are bound?