سؤال

وأريد أن إنشاء تتبع على خادم قاعدة البيانات من وجهة نظري C # التطبيق، مثل ما تفعله في SQL Server منشئ ملفات التعريف. لقد وجدت الإجراءات المخزنة (sys.sp_trace_create الخ ...) التي لا يبدو أن العمل من أجل الاستوديو الخاص بي إدارة SQL. كنت أتساءل إذا كان أي شخص يمكن أن يساعد مع الترميز، أو حيث أود أن تبدأ في القيام بذلك؟!

هل كانت مفيدة؟

المحلول

هل يريد أن يكون في الوقت الحقيقي، تماما مثل التعريف في حد ذاته؟ تريد أن يكون من الصعب القيام به. لك التعريف تريد أن تكون أساسا خلق إعادة.

وإذا كان هذا ليس شرطا، أود أن أوصي ببساطة استدعاء sp_trace_create تخزين procs التي يمكنك العثور عليها لبدء عملية تتبع من جانب الخادم، ثم استخدام التطبيق الخاص بك لفتح الملفات التي تنتج هذا التتبع.

وأسهل طريقة لتعلم كيف يعمل هذا لتشغيل ملفات التعريف SQL نفسها، تعيين كافة الخيارات التي تريدها، ثم انقر فوق تشغيل، وعلى الفور انقر فوق إيقاف. ثم انتقل إلى ملف والتصدير، سيناريو تتبع الوضوح، واختيار النسخة المناسبة.

وهذا يجب أن تعطيك السيناريو TSQL أن يضع كل القطع الصحيحة معا، بما في ذلك جميع الأحداث أثر، والأعمدة، وما إلى ذلك.

والتاريخ الفني المزيد من التعريف: هذه المقالة SQLMag القديمة لديه بعض التاريخ من التعريف، الذي حل محل التطبيق يدعى "SQL تتبع" عندما قدم SQL 7.0.

نصائح أخرى

إذا كنت لا تزال مهتمة، وجدت هذا الرمز

public void FileToTable()
{
    TraceServer reader = new TraceServer();

    ConnectionInfoBase ci = new SqlConnectionInfo("localhost");
    ((SqlConnectionInfo)ci).UseIntegratedSecurity = true;

    reader.InitializeAsReader(ci, @"Standard.tdf");

    int eventNumber = 0;

    while (reader.Read())
    {
        Console.Write( "{0}\n", reader.GetValue(0).ToString() );
    }
    reader.Close();        
}

إذا كنت تستخدم LINQ إلى SQL ثم كل من SQL الأوامر التي يولدها يمكن إرسالها إلى إطار الإخراج (أو الدخول إلى ملف إذا كنت تريد). انظر هنا: http://www.u2u.info /Blogs/Kris/Lists/Posts/Post.aspx؟ID=11

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top