http://msdn.microsoft.com/en-us/library/ms189763.aspx
That could just as well be describing Server.CreateObject. What this means is that you could create a VB 6 component, and use it from within SQL Server. You can write VB 5 sprocs! Maybe this .NET stuff isn't so terribly new as they make it sound?
I know about extended procedures, but I stopped using C++ almost 2 decades ago! I've been using a little bit of SQL CLR, but sparingly. It's only just today that I learned you can use COM and OLE Automation, from your T-SQL code.
Heck, here's a Microsoft code sample that lets you poke around inside your database, while at the same time pretending it's not a database at all!
-- Get the AdventureWorks Person.Address Table object.
EXEC @hr = sp_OAGetProperty @object,
'Databases("AdventureWorks").Tables("Person.Addres s")',
@table OUT
-- Get the Rows property of the AdventureWorks Person.Address table.
EXEC @hr = sp_OAGetProperty @object,
'Databases("AdventureWorks").Tables("Person.Addres s").Rows',
@rows OUT
-- Call the CheckTable method to validate the
-- AdventureWorks Person.Address table.
EXEC @hr = sp_OAMethod @object,
'Databases("AdventureWorks").Tables("Person.Addres s").CheckTable',
@checkoutput OUTWe can tell what's going on, right? We're fetching property values, and invoking a method. I'm sure Tables(X).CheckTable translates to a DBCC call under the sheets.
But that needs an object reference. Which translates to Server.CreateObject - here's another Microsoft sample for how to do that, even if you don't know the friendly string name for what you want
DECLARE @object int;
DECLARE @hr int;
DECLARE @src varchar(255), @desc varchar(255

EXEC @hr = sp_OACreate '{00026BA1-0000-0000-C000-000000000046}',
@object OUT;
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object, @src OUT, @desc OUT
raiserror('Error Creating COM Component 0x%x, %s, %s',16,1, @hr, @src, @desc)
RETURN
END;