Sdílet prostřednictvím


Omezení kontextových připojení a pravidelná připojení

platí pro:SQL Server

Tento článek popisuje omezení spojená s kódem spuštěným v procesu SQL Serveru prostřednictvím kontextu a pravidelných připojení.

Omezení kontextových připojení

Při vývoji aplikace vezměte v úvahu následující omezení, která platí pro kontextová připojení:

  • Pro dané připojení můžete mít v daném okamžiku otevřené pouze jedno kontextové připojení. Pokud máte více příkazů spuštěných souběžně v samostatných připojeních, může každý z nich získat vlastní kontextové připojení. Omezení nemá vliv na souběžné požadavky z různých připojení; má vliv pouze na daný požadavek na dané připojení.

  • Kontextové připojení nepodporuje více aktivních sad výsledků (MARS).

  • Třída SqlBulkCopy nefunguje v kontextovém připojení.

  • Dávkování aktualizací v kontextovém připojení se nepodporuje.

  • SqlNotificationRequest nelze použít s příkazy, které se spouštějí v kontextu připojení.

  • Zrušení příkazů spuštěných v kontextu připojení se nepodporuje. Metoda SqlCommand.Cancel bezobslužně ignoruje požadavek.

  • Při použití context connection=truenelze použít žádná další klíčová slova připojovacího řetězce.

  • Vlastnost SqlConnection.DataSource vrátí hodnotu null, pokud je připojovací řetězec pro SqlConnectioncontext connection=truemísto názvu instance SQL Serveru.

  • Nastavení vlastnosti SqlCommand.CommandTimeout nemá žádný vliv při spuštění příkazu na kontextové připojení.

Omezení pro běžná připojení

Při vývoji aplikace vezměte v úvahu následující omezení, která platí pro běžná připojení:

  • Asynchronní spouštění příkazů na interních serverech se nepodporuje. Zahrnutí async=true do připojovacího řetězce příkazu a následné spuštění příkazu způsobí vyvolání System.NotSupportedException. Zobrazí se tato zpráva:

    Asynchronous processing is not supported when running inside the SQL Server process.
    
  • SqlDependency objekt není podporován.