TSD00563 При развертывании могут возникать ошибки, поскольку он зависит от [sys].[Sp_executesql] и не существует в целевой базе данных.
Я сталкиваюсь с очень раздражающей проблемой. Один из наших SPROC создает динамический бит SQL, который затем выполняется с sp_executesql
(пожалуйста, давайте не будем вдаваться в проблемы с созданием строк SQL для выполнения).
Используя проект базы данных Visual Studio 2010 (он же DataDude) для сравнения схем и развертываний, я получаю следующую ошибку для SPROC:
TSD00563 В этом развертывании могут возникнуть ошибки во время выполнения, поскольку [dbo].[MYSPROC] зависит от [sys].[Sp_executesql] и [sys].[Sp_executesql] не существует в целевой базе данных.
Кто-нибудь знает, как я могу обойти это?
У меня есть ссылка на основной файл схемы базы данных, но это не имеет значения. Кроме того, это не ссылка master
, но sys
вместо.
Большое спасибо, Jaans
2 ответа
Использовать. префикс перед [sys].[sp_executesql]
Вот пример EXEC .sys.sp_executesql 'SELECT * FROM Table'
Странно действительно!
"Проблема, которую вы упомянули, является известной проблемой, мы исправили ее для RTM. И когда вы добавляете ссылку на db в основной файл.dbschema, вам нужно убедиться, что часть имени базы данных выбрана как буквальная и называется" master ""
http://social.msdn.microsoft.com/Forums/en-US/vstsdb/thread/68b0ce97-5275-42af-b213-bd456ce882d7