views:

153

answers:

2

How do I create an index on a table that exist in a remote SQL Server database using the openquery syntax?

A: 

I'm not certain however I suspect that this cannot be done.

OPENQUERY is intended to return a Result Set and so is unlikely to accept DDL statements.

See the Microsoft Books Online reference for examples of acceptable usage scenarios.

http://technet.microsoft.com/en-us/library/ms188427.aspx

John Sansom
+1  A: 

You can't on your side. The index must be added to a local object only. You can't use an indexed view either.

You can ask the other party to add an index for you to their table...

Edit: Expanding John's answer... You could try:

SELECT * FROM OPENQUERY(LinkedServer, 'CREATE INDEX etc;SELECT 0 AS foobar')
gbn