Все,
Мы переносим нашу базу данных с SQLServer 2012 на AzureSQL PaaS DB. Во многих хранимых процедурах у нас есть код, как показано ниже:
ИСПОЛЬЗОВАТЬ ClaimDB1 ИДТИ
Удалить ClaimDB2.dbo.Claims Где Claimdate < «01.12.2020»
Базы данных ClaimDB1 и ClaimDB2 находятся на одном сервере.
Учитывая, что операции DML не разрешены во ВНЕШНИХ ТАБЛИЦАХ, каковы различные шаблоны их выполнения в мире AzureSQL PaaS?
Спасибо, граджи
Я просто изучаю различные способы переноса кода с SQLServer 2012 на AzureSQL PaaS. Простые удаления будут работать с sp_execute_remote, но обновления и удаления, включающие сложные соединения с таблицами из других баз данных, могут быть проблемой, если они находятся в транзакции/приложении.
После создания ВНЕШНИХ ТАБЛИЦ используйте следующий sql. sp_execute_remote
позволит вам выполнить операцию DML, если у вас есть разрешение.
exec sp_execute_remote
N'<Your-remote-datasource-name>',
N'Delete dbo.Claims Where Claimdate < ''12/01/2020'''
Привет @Gopinath Rajee, пожалуйста, поправьте меня, если я неправильно понимаю ваш ответ.