TSD00563 При развертывании могут возникать ошибки, поскольку оно зависит от [sys]. [Sp_executesql] и не существует в целевой базе данных. - PullRequest
0 голосов
/ 11 января 2012

У меня очень неприятная проблема.Одним из наших SPROC является создание динамического бита SQL, который затем выполняется с sp_executesql (пожалуйста, давайте не будем вдаваться в проблемы с созданием строк SQL для выполнения).

Использование проекта базы данных Visual Studio 2010 (aka. DataDude) для сравнения схем и развертываний, и я получаю следующую ошибку для SPROC:

TSD00563 В этом развертывании могут возникать ошибки во время выполнения, поскольку [dbo]. [MYSPROC] зависит от [sys]. [sp_executesql] и [sys]. [sp_executesql] не существует в целевой базе данных

Кто-нибудь знает, как я могу обойти это?

У меня есть ссылкав основной файл схемы базы данных, но это не имеет значения.Кроме того, это не ссылка master, а sys.

Большое спасибо, Jaans

Ответы [ 2 ]

1 голос
/ 14 февраля 2012

"Упомянутая вами проблема - известная проблема, мы исправили ее для RTM. И когда вы добавляете ссылку на db в основной файл .dbschema, вам нужно убедиться, что часть имени базы данных выбрана как литеральная и называется" master""

http://social.msdn.microsoft.com/Forums/en-US/vstsdb/thread/68b0ce97-5275-42af-b213-bd456ce882d7

0 голосов
/ 18 января 2012

Используйте.префикс перед [sys]. [sp_executesql]

Вот пример EXEC .sys.sp_executesql 'SELECT * FROM Table'

Действительно странно!

...