sql >> Databáze >  >> RDS >> Sqlserver

Maximální velikost varbiny SQL Server 2008 R2

Tento scénář nemohu reprodukovat. Zkusil jsem následující:

USE tempdb;
GO

CREATE TABLE dbo.blob(col VARBINARY(MAX));

INSERT dbo.blob(col) SELECT NULL;

UPDATE dbo.blob 
  SET col = (SELECT BulkColumn 
    FROM OPENROWSET( BULK 'C:\Folder\File.docx', SINGLE_BLOB) alias
  );

SELECT DATALENGTH(col) FROM dbo.blob;

Výsledky:

--------
39578

Pokud je to omezeno na 8K, pak bych hádal, že platí jedna z následujících možností:

  1. Sloupec je ve skutečnosti VARBINARY(8000) .

  2. Vybíráte data v Management Studio a analyzujete délku dat, která se tam zobrazují. Toto je omezeno na max. 8192 znaků ve výsledcích na text, pokud je to tento případ, tak pomocí DATALENGTH() přímo proti sloupci je mnohem lepší přístup.



  1. Jak získat vloženou hodnotu pro trigger

  2. Spočítejte počet maximálních hodnot pro několik dat

  3. Příklady CURRENT_DATE – MySQL

  4. Dotaz SQL/Doctrine k nalezení dat s více podmínkami s přidružením Many to Many