SMO Sample: Enable TCP/IP Server protocol of SQL Server 2005

Purpose of sample: Enable the TCP/IP server protocol.   This sample shows you how to change a server protocol setting. This sample assumes you have SQL Express installed. You need to change the instance name to match the instance name you have installed.   ManagedComputer mc = new ManagedComputer(); mc.ServerInstances[“SQLEXPRESS”].ServerProtocols[“Tcp”].IsEnabled = true;


SMO Sample: Which SQL Server version is supported by the property?

Purpose of sample: List metadata information about SMO object properties SMO’s object model is different from DMO in one important way: DMO introduced the ‘2’ (like Database2) objects in order to add SQL Server 2000 support. SMO objects are hybrid in that perspective, as these objects morph or limit behavior based on the SQL Server…


SMO Sample: Create and Start a Job

Purpose of sample: Create simple job and start the job after creation.   Server svr = new Server(instance);JobServer agent = svr.JobServer; if (agent.Jobs.Contains(“New Smo Job”)){   agent.Jobs[“New Smo Job”].Drop();} Job j = new Job(agent, “New Smo Job”);JobStep js = new JobStep(j, “Step 1”);js.SubSystem = AgentSubSystem.TransactSql;js.Command = “select 1”;j.Create();j.ApplyToTargetServer(svr.Name); j.Start(); Disclaimer: this sample doesn’t handle exceptions and may…


SMO Sample: Backup database to Mirrors

Purpose of sample: Backup database to various mirrors Server svr = new Server(); Backup b = new Backup(); b.BackupSetDescription = “Set description”;b.Action = BackupActionType.Database;b.BackupSetName = “Backup set #1”;b.Database = “msdb”;b.MediaDescription = “Media description”;b.MediaName = “Media name”;b.Devices.AddDevice(@”c:\back1a.bak”, DeviceType.File);b.Devices.AddDevice(@”c:\back1b.bak”, DeviceType.File); BackupDeviceList[] la = new BackupDeviceList[2]; BackupDeviceList l1 = new BackupDeviceList();l1.AddDevice(@”c:\back2a.bak”, DeviceType.File);l1.AddDevice(@”c:\back2b.bak”, DeviceType.File); BackupDeviceList l2 = new BackupDeviceList();l2.AddDevice(@”c:\back3a.bak”,…


SMO Sample: Partitions

Purpose of sample: create a partition function and partition scheme on an existing database Server svr = new Server(instance); if (svr.Databases.Contains(“smotestdb”)) // change the name if needed{   svr.Databases[“smotestdb”].Drop();} Database db = new Database(svr, “smotestdb”);db.Create(); db.FileGroups.Add(new FileGroup(db, “PART1_FG”));db.FileGroups.Add(new FileGroup(db, “PART2_FG”));db.FileGroups[0].Files.Add(new DataFile(db.FileGroups[0], “datafile1″, @”C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\db_1.mdf”));db.FileGroups[1].Files.Add(new DataFile(db.FileGroups[1], “datafile2″, @”C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\db_2.mdf”));db.Alter(); PartitionFunction pf = new PartitionFunction(db,…


SMO Sample: Transfer

Purpose of sample: Transfer a database; all objects and data Server tgt = new Server(“.”); // Setup source connection (in this sample source is .\inst1 and target is ‘.’ (the default instance)Server svr = new Server(@”.\inst1″);Database db = svr.Databases[“testdb”]; // Setup transferTransfer t = new Transfer(db);t.CopyAllObjects = true;t.DropDestinationObjectsFirst = true;t.CopySchema = true;t.CopyData = true;t.DestinationServer =…


SMO Sample: Table column default constraint

Purpose of sample: show how a column constraint can be created. Table tbl = new Table (db, “MyTestTable”);Column c1 = new Column(tbl, “c1”, DataType.DateTime);c1.AddDefaultConstraint(/*name optional*/);c1.DefaultConstraint.Text = “getdate()”;tbl.Columns.Add(c1);tbl.Create(); Disclaimer: this sample doesn’t handle exceptions and may not function as expected. Use at own risk. It is good practice to test an application before using it in…


Scripting in Microsoft SQL Server 2005 Web Cast Resources

This article contains extra information with regard to the web cast “Scripting in Microsoft SQL Server 2005 ” that was held on 6/22/2005 9:30-11:00 PST. Q&A Log Question: Is sql server management studio part of standard edition ?Answer: Yes. Every edition except for Express Question: Is there an option to show the template scripts without the big,…



Q: Is SQL-DMO still supported with SQL Server 2005?A: Yes, SQL-DMO will be fully supported (albeit officially deprecated), however it will not be able to make use of any new SQL Server 2005 features. SQL-DMO will be available through a special ‘backward compatibility redist’ (filename = SQLServer2005_BC.msi) that will contain various other components besides SQL-DMO….



Q: With which SQL Server versions is SMO compatible?A: SQL Server 2000, and SQL Server 2005. Q: Is there going to be a redist for SMO?A: Yes, is a combined redist that contains, SMO, RMO, AMO. NMO, DTS Runtime. This is downloadable from the web: File name is SQLServer2005_XMO.msi (and there are 64 bit…