Chcete-li načíst CLR v SQL Server pomocí rozšířené uložené procedury nebo SP_OA uložené procedury není podporována

Souhrn

Společnost Microsoft nepodporuje použití Microsoft Common Language Runtime (součástí rozhraní.NET Framework) pro obálka volatelná aplikacemi COM nebo spravované rozšíření jazyka C++ v Microsoft SQL Server 2005, Microsoft SQL Server 2000 nebo Microsoft SQL Server 7.0. Toto omezení podpory se vztahuje přímo k použití rozšířené uložené procedury a použití automatizace OLE k jakékoli načítání knihoven, které je nutné načíst spustit v paměťovém prostoru serveru SQL Server.

SQL Server 2005 a novější verze Common Language Runtime (CLR) hostitele a podporovat postupy, funkce, aktivační události, typy a agregace, které jsou napsány v CLR langauges. V těchto verzích nelze načíst CLR pomocí rozšířené uložené proceduress nebo sp_OA uložené procedury.

Další informace

Sestavení rozhraní.NET Framework System.Runtime.InteropServices poskytuje výkonné prostředí pro vyvolání sestavení z nespravovaného kódu. Existuje však několik technických discordances mezi interní implementace CLR a SQL Server:

Práce s vlákny

Chcete-li zvýšit výkon, CLR implementuje místního úložného prostoru vlákna.

Další informace o problémech, které se vztahují k použití místní úložiště podprocesu v rozšířené uložené procedury získáte v následujícím článku znalostní báze Microsoft Knowledge Base:

163449 použití z místního úložného prostoru vlákna v rozšířené uložené procedury

190987 použití rozšířené uložené procedury

CLR také používá vlákno pouze na základě plánování a nepodporuje Fiber režimu plánování. Však SQL Server použít Fiber režimu plánování. Chcete-li nastavit tuto vlastnost, použijte jednu z následujících metod:

  • Pomocí sdružování lehký možnost spustíte sp_configure uložené procedury.

  • V SQL Server 2000 nebo SQL Server 7.0 můžete konfigurovat tuto vlastnost v SQL Server Enterprise Manager. Chcete-li to provést, postupujte takto:

    1. V nástroji Enterprise Manager rozbalte položku Microsoft SQL Servers, rozbalte Skupina serverů SQLa potom klepněte pravým tlačítkem myši na instanci serveru SQL Server 2000 nebo SQL Server 7.0.

    2. V dialogovém okně Vlastnosti serveru SQL (konfigurace) klepněte na kartu procesoru .

    3. Klepnutím zaškrtněte políčko použití WINDOWSNT tkaniva .

  • V SQL Server 2005 můžete konfigurovat tuto vlastnost v SQL Server Management Studio. Chcete-li to provést, postupujte takto:

    1. V Management Studio připojte k instanci serveru SQL Server 2005.

    2. V Průzkumník objektůklepněte pravým tlačítkem myši na instanci serveru SQL Server a potom klepněte na příkaz Vlastnosti.

    3. V dialogovém okně Server – vlastnosti klepněte na položku procesory.

    4. Klepnutím zaškrtněte políčko Použít Windows vlákna (lehký fondy) .

Paměti

Použití rozšířené uložené procedury a automatizace OLE, obě spustit ve virtuální paměti adresový prostor paměti serveru SQL Server. Výchozí paměti serveru SQL Server je pouze část paměti, která může potenciálně použít SQL Server a CLR konkurující jakékoli existující implementace pro tyto prostředky paměti.
Další informace o správě paměti serveru SQL Server klepněte na následující číslo článku databáze Microsoft Knowledge Base:

316749 pravděpodobně není dostatek virtuální paměti když máte velký počet databází na serveru SQL Server

Interoperabilitu modelu COM.

V této části se zejména zaměřuje na použití automatizace OLE v systému SQL Server a se vztahuje na objekty modelu COM v průběhu výrobního procesu a out-of-process. Sestavení meta data pro funkce rozhraní implementuje mechanismus silného typu pro jakékoli vyvolání.

Jako součást tohoto návrhu COM Callable wrapper pro sestavení, musíte použít externí mechanismus mapování ClassID členem spravované třídy. Z důvodu této explicitní mapování je žádná možnost nespravované perspektivy navázat kořenového seznamu k dispozici rozhraní.

Rozšířené uložené procedury sp_oaCreate pomocí rozhraní IUnknown::QueryInterface objektu podpory pro určité rozhraní. Interoperability mezi CLR a nespravovaný kód je založena na rozhraní IDispatch implementace rozhraní. Protože neexistuje žádný ekvivalent metodě QueryInterface na základě CLR sestavení, nelze vytvořit instanci objektu.

Potřebujete další pomoc?

Rozšiřte své znalosti a dovednosti
Projít školení
Získejte nové funkce jako první
Připojit se k programu Microsoft Insider

Byly tyto informace užitečné?

Děkujeme za váš názor!

Děkujeme vám za váš názor! Pravděpodobně bude užitečné, když vás spojíme s některým z našich agentů podpory Office.

×