DBCC OPENTRAN

متن مرتبط با «رکوردها» در سایت DBCC OPENTRAN نوشته شده است

حذف سریع تمام رکوردها در SQL server

  • حذف سریع تمام رکوردها در SQL server فرض کنید یک دیتابیس آزمایشی دارید که می‌خواهید تمام رکوردهای آن‌را حذف کنید. اگر در این دیتابیس انواع و اقسام کلیدهای خارجی و تریگر و امثال آن وجود داشته باشند، صرفا با یک دستور delete ساده کار به پایان نمی‌رسد و موفق به حذف رکوردها نخواهید شد (چون این قید و بندها به همین جهت طراحی شده‌اند تا یکپارچگی دیتابیس حفظ شود).اما اگر واقعا این قیود در این لحظه مهم نبودند و نیاز بود تا تمام رکوردها را حذف کنیم، سریعترین راه حل موجود چیست؟--Disable Constraints & Triggers exec sp_MSforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL' exec sp_MSforeachtable 'ALTER TABLE ? DISABLE TRIGGER ALL' --Perform delete operation on all table for cleanup exec sp_MSforeachtable 'DELETE ?' --Enable Constraints & Triggers again exec sp_MSforeachtable 'ALTER TABLE ? CHECK CONSTRAINT ALL' exec sp_MSforeachtable 'ALTER TABLE ? ENABLE TRIGGER ALL' --Reset Identity on tables with identity column exec sp_MSforeachtable 'IF OBJECTPROPERTY(OBJECT_ID(''?''), ''TableHasIdentity'') = 1 BEGIN DBCC CHECKIDENT (''?'',RESEED,0) END'اسکریپت فوق تمامی رکوردهای دیتابیس جاری را حذف کرده و همچنین فیلدهای identity را نیز مجددا به حالت اول باز می‌گرداند. نويسنده :محمد حسین فخرآوری تاريخ: سه شنبه ۱۴۰۱/۱۰/۲۰ ساعت: بخوانید, ...ادامه مطلب

  • جدیدترین مطالب منتشر شده

    گزیده مطالب

    تبلیغات

    برچسب ها