The Software Developers Conference in the Netherlands has begun. Today I show how to prevent SQL Injection Attacks in ASP .NET as well as other cool tricks. Lots of RDs here and lots of happy attendees. As usual at SDC I will show something very new and cool. I will show off some of the new SQL Server Management Objects (SMO) in the keynote tonight. Ill give you a preview here.
The SMO object model is a logical continuation of the work done in SQL-DMO. SMO is feature-compatible with SQL-DMO, containing many of the same objects. . To achieve maximum data definition language (DDL) and administrative coverage for SQL Server 2005, SMO adds more than 150 new classes. The primary advantages of SMO are in its performance and scalability. SMO has a cached object model, which allows you to change several properties of an object before effecting the changes to SQL Server. As a result, SMO makes fewer round trips to the server, and makes its objects more flexible. SMO also has optimized instantiation, meaning that you can partially or fully instantiate objects. You can load many objects quickly by not instantiating all the properties of the objects. To get started you have to set a reference to it and pull in the namespace:
using Microsoft.SqlServer.Management.Smo;
Now I will show you how to programitically do a database restore. You start with getting the SMO objects: Server and Restore.
Server svr = new Server();
Restore res = new Restore();
Now take a look at how easy you can do a restore, just a few lines of code:
res.Database = “AdventureWorks“;
res.Action = RestoreActionType.Database;
res.Devices.AddDevice(“c:\mybackup.bak“, DeviceType.File);
res.ReplaceDatabase = true;
res.SqlRestore(svr);
There is a lot more that you can do with SMO, but this shows you how easy it is to manage your server from code. A very cool thing to do it put some of the server monitor stuff into an ASP .NET page for viewing your server stats from a remote location.
More on SMO to come...
Page rendered at Thursday, March 30, 2023 5:43:15 AM (Eastern Standard Time, UTC-05:00)
Disclaimer The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.