Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Cách đơn giản để lấy tất cả các thủ tục được lưu trữ theo chương trình

Bạn có thể sử dụng SMO cho điều đó. Trước hết, hãy thêm tham chiếu đến các hội đồng này vào dự án của bạn:

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

Chúng nằm trong GAC (duyệt tới thư mục C:\ WINDOWS \ assembly).

Sử dụng đoạn mã sau làm ví dụ về các thủ tục được lưu trữ theo tập lệnh:

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());
   }
}

Xem thêm: SQL Server:Kiến thức cơ bản về kịch bản SMO .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thành thạo việc sử dụng danh sách dừng với tìm kiếm toàn văn bản trên SQL Server (FTS)

  2. Sử dụng hàm như một tham số khi thực hiện một thủ tục được lưu trữ?

  3. 11 Phương pháp hay nhất về chỉ mục SQL Server để cải thiện hiệu suất

  4. Cách lọc Hàng có Giá trị Null trong Câu lệnh Chọn trong SQL Server - Hướng dẫn sử dụng SQL Server / TSQL Phần 110

  5. XÓA hàng loạt trên SQL Server 2008 (Có bất kỳ điều gì giống như Sao chép hàng loạt (bcp) để xóa dữ liệu không?)