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