У меня возникла следующая проблема.
У меня есть база данных, подключенная к удаленному серверу sql.Все необходимые действия для олицетворения выполнены - другими словами, у меня есть все необходимые права доступа как к файловой системе, так и к серверу sql.
Допустим, у меня есть FileStreanDB1
база данных sql:
\\server\C$\MSSQL\Data\FileStreamDB1.mdf
\\server\C$\MSSQL\Data\FileStreamDB1_log.ldf
\\server\C$\MSSQL\Data\FileStreamDB1
В некоторыхДело в том, что я хотел бы удалить эту базу данных.Поэтому я просто использую следующий оператор sql (я называю этот код с помощью c #):
DROP DATABASE [FileStreamDB1]
После этого база данных удаляется, а также удаляются все файлы (если я иду на этот сервер, я ненайдите их - файлы и каталоги действительно удалены).Но, к сожалению, следующий код говорит мне, что \\server\C$\MSSQL\Data\FileStreamDB1
все еще существует.
new DirectoryInfo(@"\\server\C$\MSSQL\Data\FileStreamDB1").Exists // returns true
Directory.Exists(@"\\server\C$\MSSQL\Data\FileStreamDB1") // returns true
Похоже, эта информация о каталоге кэширована, и мне нужно очистить эту сумму (кэш каталога SMB2 и я НЕ ХОЧУОТКЛЮЧИТЕ ЭТО)
Я также пытался это сделать:
new DirectoryInfo(@"\\server\C$\MSSQL\Data\FileStreamDB1").Refresh().Exists // return true
Любые идеи, как я могу очистить кэш Windows о путях unc, используя c #?