Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Maksymalny rozmiar zmiennej SQL Server 2008 R2

Nie mogę odtworzyć tego scenariusza. Próbowałem następujących rzeczy:

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;

Wyniki:

--------
39578

Jeśli jest to ograniczone do 8K, przypuszczam, że jedno z poniższych jest prawdziwe:

  1. W rzeczywistości kolumna to VARBINARY(8000) .

  2. Wybierasz dane w Management Studio i analizujesz długość danych, które są tam wyświetlane. Jest to ograniczone do maksymalnie 8192 znaków w wynikach do tekstu, jeśli tak jest, więc użyj DATALENGTH() bezpośrednio przy kolumnie jest znacznie lepszym podejściem.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy można określić warunek w Count()?

  2. Zmiana właściwości połączonego serwera w SQL Server

  3. SQL wypełnia łączną liczbę dni roboczych w miesiącu pomniejszoną o dni wolne od pracy w bieżącym roku finansowym

  4. Klauzula ORDER BY jest nieprawidłowa w widokach, funkcjach wbudowanych, tabelach pochodnych

  5. Najlepszy sposób na wyodrębnienie danych z xml za pomocą xquery