Příznaky
Představte si následující scénář:
-
Máte propojený server v Microsoft SQL Server 2008 R2.
-
Na propojeném serveru je tabulka se sloupcem typu SMALLDATETIME.
-
Spuštěním příkazu INSERT nebo INSERT INTO vložíte do tabulky záznam, který obsahuje data typu DATETIME.
V tomto scénáři příkaz selže. Zobrazí se také následující chybová zpráva:
Zprostředkovatel OLE DB "SQLNCLI10" pro odkazovaný server LinkServerName vrátil zprávu "Vícekroková operace OLE DB generovala chyby. Zkontrolujte každou hodnotu stavu OLE DB, pokud je k dispozici. Nebyla provedena žádná práce.".Zpráva 7344, úroveň 16, stav 1, řádek 1 Poskytovatel OLE DB "SQLNCLI10" pro odkazovaný server "LinkServerName" nemohl VLOŽIT DO tabulky TableName kvůli sloupci ColumnName. Převod se nezdařil, protože datová hodnota přetekla datový typ používaný poskytovatelem.
Příčina
K tomuto problému dochází z důvodu problému mapování datového typu v SQL Server.
Řešení
Informace o kumulativní aktualizaci
SQL Server 2008 R2 Service Pack 2
Oprava tohoto problému byla poprvé vydána v kumulativní aktualizaci 3. Další informace o získání tohoto balíčku kumulativní aktualizace pro SQL Server 2008 R2 Service Pack 2 klepněte na následující číslo článku databáze Microsoft Knowledge Base:
2754552 Balíček kumulativní aktualizace 3 pro SQL Server 2008 R2 Service Pack 2Note Vzhledem k tomu, že sestavení jsou kumulativní, obsahuje každá nová verze oprav všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí verze SQL Server 2008 R2 Service Pack 2. Doporučujeme zvážit použití nejnovější verze opravy, která obsahuje tuto opravu hotfix. Další informace naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
2730301 Buildy SQL Server 2008 R2 vydané po aktualizaci Service Pack 2 SQL Server 2008 R2
Stav
Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.
Řešení
Pokud chcete tento problém vyřešit, použijte jednu z následujících metod:
-
Přetypujte data typu DATETIME na typ SMALLDATETIME v příkazu .
-
Změňte sloupec SMALLDATETIME type (Typ SMALLDATETIME) na typ DATETIME na odkazovém serveru.