Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

सभी संग्रहीत प्रक्रियाओं को प्रोग्रामेटिक रूप से प्राप्त करने का सरल तरीका

इसके लिए आप एसएमओ का इस्तेमाल कर सकते हैं। सबसे पहले, अपने प्रोजेक्ट में इन असेंबली के संदर्भ जोड़ें:

  • Microsoft.SqlServer.ConnectionInfo
  • Microsoft.SqlServer.Smo
  • Microsoft.SqlServer.SmoEnum

वे जीएसी में स्थित हैं (सी:\ विन्डोज़ \ असेंबली फ़ोल्डर में ब्राउज़ करें)।

संग्रहीत कार्यविधियों को स्क्रिप्ट करने के उदाहरण के रूप में निम्न कोड का उपयोग करें:

using System;
using System.Collections.Generic;
using System.Data;
using Microsoft.SqlServer.Management.Smo;

class Program
{
   static void Main(string[] args)
   {
      Server server = new Server(@".\SQLEXPRESS");
      Database db = server.Databases["Northwind"];
      List<SqlSmoObject> list = new List<SqlSmoObject>();
      DataTable dataTable = db.EnumObjects(DatabaseObjectTypes.StoredProcedure);
      foreach (DataRow row in dataTable.Rows)
      {
         string sSchema = (string)row["Schema"];
         if (sSchema == "sys" || sSchema == "INFORMATION_SCHEMA")
            continue;
         StoredProcedure sp = (StoredProcedure)server.GetSmoObject(
            new Urn((string)row["Urn"]));
         if (!sp.IsSystemObject)
            list.Add(sp);
      }
      Scripter scripter = new Scripter();
      scripter.Server = server;
      scripter.Options.IncludeHeaders = true;
      scripter.Options.SchemaQualify = true;
      scripter.Options.ToFileOnly = true;
      scripter.Options.FileName = @"C:\StoredProcedures.sql";
      scripter.Script(list.ToArray());
   }
}

यह भी देखें:SQL Server:SMO Scripting Basics ए> ।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. अत्यंत धीमी EF स्टार्टअप - 15 मिनट

  2. लिनक्स में फ्रीट कैसे स्थापित करें?

  3. एसक्यूएल में सेट रोकाउंट का दायरा

  4. SQL डेटाबेस को आसानी से पुनर्स्थापित करें - चरण दर चरण मार्गदर्शिका

  5. विशिष्ट प्रकाशन संदर्भ में टी-एसक्यूएल मर्ज प्रदर्शन