Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да автоматизирам генерирането на скриптове с помощта на SMO в SQL Server?

Ключът към SMO скриптовете е Scripter клас. Всички други инструменти (като SSMS) използват този клас за генериране на скриптове за създаване на обекти. Има примерна употреба на MSDN :

{ 
   //Connect to the local, default instance of SQL Server. 
  Server srv = new Server(); 

   //Reference the AdventureWorks2008R2 database.  
  Database db = srv.Databases["AdventureWorks2008R2"]; 

   //Define a Scripter object and set the required scripting options. 
  Scripter scrp = new Scripter(srv); 
   scrp.Options.ScriptDrops = false; 
   scrp.Options.WithDependencies = true; 

   //Iterate through the tables in database and script each one. Display the script. 
   //Note that the StringCollection type needs the System.Collections.Specialized namespace to be included. 
   Microsoft.SqlServer.Management.Sdk.Sfc.Urn[] smoObjects = new Microsoft.SqlServer.Management.Sdk.Sfc.Urn[1] ;
   foreach (Table tb in db.Tables) {   
      smoObjects[0] = tb.Urn; 
      if (tb.IsSystemObject == false) { 
         System.Collections.Specialized.StringCollection sc;
         sc = scrp.Script(smoObjects); 
         foreach ( string st in sc) { 
            Console.WriteLine(st); 
         } 
      } 
   } 
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Време за изчакване на връзката за SQL сървър

  2. MDX брой във времето (години - не в рамките на една година)

  3. Как да заявите xml колона в tsql

  4. Не може да се използва UPDATE с клауза OUTPUT, когато има тригер в таблицата

  5. ODBC неуспешно повикване със съхранена процедура - Преминаване през заявка