Ну, если Вы не сохраняете журналы, лучшее, которое можно сделать, откатывают к последнему различному.
То, что я обычно делаю, скопировать журнал транзакций на намного более коротких интервалах (возможно, каждые 15 минут или так). Это препятствует тому, чтобы я терял много данных в худшем варианте (машина сгорает дотла). Это - очень легкая операция, таким образом, это может быть сделано онлайн с минимальным влиянием.
Необходимо обычно только использовать режим Полного резервного копирования, и необходимо часто создавать резервную копию журнала транзакций, если Вы не можете позволить себе проиграть до ценности целого дня данных, которые являются тем, чему Вы подвергаетесь теперь.
Плохо. Если PK регулярно изменяется (не как часть некоторого reogrinanization) затем, это не был естественный PK, или проектирование приложений плохо.
Это звучит твердым кодировать для. Вы изменяете первичный ключ для записи, и необходимо изменить все ссылки на тот первичный ключ во всех таблицах. Легкий испортить. Просто используйте последовательность (или auto_increment или безотносительно) и сделайте первичный ключ, который не является данными. Или выберите первичный ключ, который это будет когда-либо должно действительно вряд ли изменить.
Это было отчасти сказано, но (моя) лучшая практика должна всегда называть первичный ключ 'идентификатором' и делать его сериалом (автоинкрементное целое число) (целое число идентификационных данных в MSSQL). Это произошло с моим во многих случаях, что я должен был изменить PK, когда это был некоторый естественный ключ как чье-то имя.