كيفية القيام بما يلي: تحليل الرمز Transact SQL للبحث عن العيوب

يمكنك تحليل الخاصة بك Transact-SQLتعليمات برمجية عند الطلب، عند التي بنية مشروع الخاص بك باستخدام واجهة مستخدم، أو عندما تقوم بنية مشروع الخاص بك باستخدام MSBuild. بعد تعليمات برمجية هو تحليلها، واحد أو أكثر من أخطاء أو تحذيرات يظهر إذا تعليمات برمجية قد يحتوي على عيوب التصميم أو تسمية أو الأداء. يمكنك النقر فوق هذه الأخطاء والتحذيرات لعرضها تعليمات برمجية للذي ربط. يمكنك أيضا عرض مزيد من المعلومات إلى فهم الأسباب الخاصة بها وما إذا كان قد تحتاج بشكل أفضل إلى منع عليها. ل المزيد من المعلومات حول تحليل تعليمات برمجية في Visual Studio Premiumو Visual Studio Ultimate، راجع ‏‏يتم الآن التحليل? قاعدة بيانات تعليمات برمجية إلى تحسين جودة تعليمات برمجية.

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

‏‏يتم الآن التحليل? تعليمات برمجية في الإصدار من قاعدة بيانات

إلى تحليل تعليمات برمجية ‏‫‏‫Transact-SQL في قاعدة بيانات مشروع

  1. قم بفتح الحل الذي يحتوي على مشروع قاعدة بيانات الخاصة بك.

  2. في قائمة بيانات ، أشر إلى تحليل تعليمات برمجية الثابتة، و انقر فوق تشغيل.

    يتم تحليل التعليمة البرمجية في مشروع قاعدة بيانات الخاصة بك، وتظهر أية تحذيرات وأخطاء في قائمة الأخطاء .

إلى عرض تعليمات برمجية المصدر التي تسببت في الخطأ أو التحذير

  1. في قائمة الأخطاء ، انقر نقراً مزدوجاً فوق الخطأ أو التحذير. يمكنك أيضا تمييز الخطأ أو التحذير و اضغط على Enter الزر.

    Transact-SQLediإلىr فتح وعرض التعليمة البرمجية إلى التي تتعلق بالخطأ أو التحذير. عند الإمكان، المؤشر هو وضع في العبارة التي تسببت في الخطأ أو التحذير.

  2. قم بإجراء أحد الخطوتين التاليتين:

إلى عرض مزيد من المعلومات حول الخطأ أو التحذير

  • في قائمة خطأ ، قم بإجراء إحدى الخطوات التالية:

    • انقر فوق الخطأ أو التحذير، و اضغط F1.

    • انقر نقراً مزدوجاً فوق الخطأ أو التحذير، وانقر فوق تعليمات "خطأ في إظهار" .

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

‏‏يتم الآن التحليل? تعليمات برمجية بواسطة استخدام ‏‫MSBuild

قد تقرر إلى تحليل تعليمات برمجية باستخدام MSBuildإذا أردت إلى يطبق التعيين comprehensive بالمزيد من القواعد أثناء التشغيل ليلا. يمكنك تكوين قواعد لكل تكوين البنية وقم بتحديد التكوين الذي يتضمن قاعدة أو القواعد التي تريد إلى تطبيق.

يمكنك استخدم ملف إجابة لتوفير وسيطات سطر الأوامر إلى MSBuild. وهذا ملف يمكن أن يحتوي على أية رموز تبديل سطر الأوامر الصالحة ل MSBuild، بما في ذلك تلك التي يمنع خصائص مشروع. لمزيد من المعلومات حول ملفات الاستجابة، راجع ملفات الاستجابة MSBuild. لمزيد من المعلومات حول الأمر-خط خيارات من أجل MSBuild، راجع مرجع سطر الأوامر MSBuild.

عندما تقوم بتحليل تعليمات برمجية الخاصة بك من الأمر تعجيل، تتم كتابة نتائج إلى ملف XML يسمى StaticCodeAnalysis.نتائج.xml. يمكنك العثور على هذا ملف في مجلد مشروع الخاص بك في المجلد الفرعي SQL. يمكنك تحديد اسم ملف مختلف بواسطة تجاوز القيمة خاصية مشروع ResultsFile.

إلى تحليل تعليمات برمجية ‏‫‏‫Transact-SQL في مشروع قاعدة بيانات الخاصة بك من تعجيل الأوامر

  1. افتح إطار موجه أوامر.

    هام

    لتشغيل ‏‫MSBuild.exe، يجب عليك استخدام Visual Studioالأمر تعجيل، أو يجب تشغيل الملف الدفعي vsvars32.bat في المجلد الذي يعين متغير بيئة%% VS80COMNTOOLS.

  2. قم بالاستعراض إلى الدليل مشروع الخاص بك.

  3. في تعجيل الأوامر، اكتب سطر أوامر مشابه للمثال التالي:

    MSBuild /t:StaticCodeAnalysis /p:Configuration=Release DatabaseProject.dbproj
    

    ملاحظة

    يجب أن يكون ‏‫MSBuild.exe مسار الذي يعين متغير بيئة مسار الخاصة بك.

  4. قم بمراجعة الإخراج من ‏‫MSBuild.exe. إخراج مثل كـ يظهر ما يلي:

    Microsoft (R) Build Engine Version 4.0.30115.0
    [Microsoft .NET Framework, Version 4.0.30115.0]
    Copyright (C) Microsoft Corporation 2007. All rights reserved.
    
    Build started 9/11/2008 3:38:29 PM.
    Project " C:\Users\UserName\Documents\Visual Studio 2010\Projects\SolutionName\DatabaseProject\DatabaseProject.dbproj" on node 0 (StaticCodeAnalysis target(s)).
      Creating a model to represent the project...
      Loading project files...
      Building the project model and resolving object interdependencies...
      Validating the project model...
    1 problem has been detected
    C:\Users\UserName\Documents\Visual Studio 2010\Projects\SolutionName\DatabaseProject\SCHEMA OBJECTS\SCHEMAS\DBO\PROGRAMMABILITY\STORED PROCEDURES\sp_ProcedureName.proc.SQL(1,24): StaticCodeAnalysis warning : SR0014 : Microsoft.Rules.Data : Data loss might occur when casting from ASCII String(1) to NChar(1). [C:\Users\UserName\Documents\Visual Studio 2010\Projects\SolutionName\DatabaseProject\DatabaseProject.dbproj]
      One problem has been detected.
      The results are saved in C:\Users\UserName\Documents\Visual Studio 2010\Projects\SolutionName\DatabaseProject\sql\release\DatabaseProject.StaticCodeAnalysis.Results.xml.
    Done Building Project " C:\Users\UserName\Documents\Visual Studio 2010\Projects\SolutionName\DatabaseProject\DatabaseProject.dbproj" (StaticCodeAnalysis target(s)) -- FAILED.
    
    
    Build succeeded.
    
    " C:\Users\UserName\Documents\Visual Studio 2010\Projects\SolutionName\DatabaseProject\DatabaseProject.dbproj" (StaticCodeAnalysis target) (1) ->
    (DspStaticCodeAnalysis target) ->
      C:\Users\UserName\Documents\Visual Studio 2010\Projects\SolutionName\DatabaseProject\SCHEMA OBJECTS\SCHEMAS\DBO\PROGRAMMABILITY\STORED PROCEDURES\sp_ProcedureName.PROC.SQL(1,24): StaticCodeAnalysis warning : SR0014 : Microsoft.Rules.Data : Data loss might occur when casting from ASCII String(1) to NChar(1). [C:\Users\UserName\Documents\Visual Studio 2010\Projects\SolutionName\DatabaseProject\DatabaseProject.dbproj]
    
        1 Warning(s)
        0 Error(s)
    
    Time Elapsed 00:00:07.07
    

راجع أيضًا:

المهام

الإرشادات التفصيلية: Analyze Transact-SQL Code for an Existing Database

المبادئ

‏‏يتم الآن التحليل? قاعدة بيانات تعليمات برمجية إلى تحسين جودة تعليمات برمجية

Analyzing تعليمات برمجية مُدارة Quality by Using Code Analysis

موارد أخرى

CA1501:

المشاكل المتعلقة بتسمية ‏‫‏‫Transact-SQL

المشاكل المتعلقة بالأداء ‏‫‏‫Transact-SQL