是否有可能链接的服务器上创建一个表?
exec
('CREATE TABLE DatabaseName.dbo.TableName
(
column1 datatype,
column2 datatype,
column3 datatype
)') at [LinkedServer]
从Arpit解决方案的工作很好。
exec
('CREATE TABLE DatabaseName.dbo.TableName
(
column1 datatype,
column2 datatype,
column3 datatype
)') at [LinkedServer];
go
如何过,当你的错误“消息7411,级别16,状态1,行1服务器‘MyLinkedServer’未配置为RPC。”您需要更改链接服务器连接上的RPC参数。作为默认RPC设置为false。它需要设置为true。
这允许您运行链接服务器上的程序。你必须让这一点,因为该解决方案不发送“CREATE TABLE”语句作为SQL命令到链接服务器。它发送语句作为其进而作为远程服务器上的程序被执行的字符串。
希望这可以帮助。
如果你使用SQL Server Management Studio和SQLCMD模式:
-- To enable "SQLCMD mode" in SQL Server Management Studio (SSMS):
-- In the menu toolbar: Query > SQLCMD mode
:setvar LinkedServer "YourLinkedServerNameHere"
:setvar DestinationDb "YourDestinationDatabaseNameHere"
GO
EXEC ('
CREATE TABLE $(DestinationDb).dbo.YourTableNameHere (
[Field1] INT NOT NULL,
[Field2] INT NOT NULL
)
') AT $(LinkedServer)
GO
EXEC ('DROP TABLE $(DestinationDb).dbo.YourTableNameHere') AT $(LinkedServer)
GO