Возможно ли создать таблицу на связанном сервере?
Если да, то как?
Я очень ценю вашу помощь. Спасибо.
Возможно ли создать таблицу на связанном сервере?
Если да, то как?
Я очень ценю вашу помощь. Спасибо.
exec
('CREATE TABLE DatabaseName.dbo.TableName
(
column1 datatype,
column2 datatype,
column3 datatype
)') at [LinkedServer]
Если вы используете 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
Решение от Arpit отлично работает.
exec
('CREATE TABLE DatabaseName.dbo.TableName
(
column1 datatype,
column2 datatype,
column3 datatype
)') at [LinkedServer];
go
Как всегда, когда вы получаете сообщение об ошибке "Msg 7411, уровень 16, состояние 1, сервер линии 1" MyLinkedServer "не настроен для RPC". вам нужно изменить RPC-параметры на соединенном соединении с сервером. По умолчанию для RPC установлено значение false. Он должен быть установлен в true.
Это позволяет запускать процедуры на связанном сервере. Вы должны разрешить это, потому что решение не отправляет оператор "Создать таблицу" в виде команды SQL на связанный сервер. Он отправляет оператор как строку, которая, в свою очередь, выполняется как процедура на удаленном сервере.
Надеюсь, что это поможет.