Лучше было бы запланированное задание, служба Windows или агент сервера sql (если у вас есть доступный сервер).
Если этого не сделать - и при условии, что функция не имеет длязапустить в определенный день, тогда ваше решение, представленное выше, выглядит нормально.
Если функция должна работать 1-го числа, можете ли вы рассчитывать, что ваше приложение будет «включено» в это время?
edit: итак .... у вас есть какое-то приложение на c # с mdf в папке где-то.У вас есть вставка, которая должна быть запущена 1-го числа месяца.
Я бы создал запланированное задание на компьютере, на котором установлено приложение.Задача будет вызывать другую (крошечную) команду программы C # (.exe), которая имеет строку подключения к вашей базе данных *.Это приложение вызывается раз в месяц и выполняет вставку.
*Driver={SQL Native Client};Server=.\SQLExpress;AttachDbFilename=c:\asd\qwe\mydbfile.mdf; Database=dbname;Trusted_Connection=Yes