Мы используем простой файл File.Copy в C# для перемещения резервных копий базы данных в дополнительные места.Предельная скорость File.Copy
Однако на некоторых серверах сервер SQL практически не работает. Эти серверы имеют очень ограниченную память, поэтому они часто выгружают данные на жесткий диск.
Хотя мы должны купить больше памяти, это не произойдет в течение длительного времени: -/
Так мне интересно, если я могу каким-то образом ограничить скорость работы File.Copy? (Таким образом, предоставление SQL-серверу некоторого места для доступа к жесткому диску)
Я мог бы использовать подход «старой школы» с двумя потоками, читать и писать через буфер и просто спать 5 мс или около того между чтениями. Но я бы предпочел более качественное решение, если таковое доступно.
Вы хотите ограничить скорость или, по сути, область памяти? – Frank
Вы пробовали использовать код копирования в потоке с минимальным приоритетом? Не уверен, что это поможет, хотя он использует функцию kernel32 'CopyFile'. –
Просто не делайте резервное копирование на тот же диск, что и один SQL Server для своей базы данных. –