Программируемость SQL CLR - Синхронизация - PullRequest
1 голос
/ 25 февраля 2010

Я новичок в программируемости SQL CLR.У меня есть хранимая процедура CLR, которая пишет в локальный файл.Но когда у меня есть несколько соединений, вызывающих одну и ту же хранимую процедуру, как мне синхронизировать доступ к локальному файлу?Есть встроенные функции?Или любой другой вход приветствуется.

1 Ответ

2 голосов
/ 25 февраля 2010

Безопасные сборки CLR внутри SQL не имеют права на совместное использование и, следовательно, не могут синхронизироваться. По понятной причине, блокируя синхронизацию, вы крадете работника из пула потоков SQL Server. Рабочие пользуются большим спросом, не могут позволить себе потерять их, ожидая синхронизации пользователя. Небезопасные сборки могут делать что угодно, используя обычные объекты синхронизации .Net Framework (монитор, операторы блокировки, блокировку ReaderWriter и т. Д. И т. Д.), Но именно поэтому они называются «небезопасными»: в конечном итоге вы можете заморозить экземпляр SQL Server.

Доступ к файлу и синхронизация с внешнего процесса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...