SQL Server als Dateiablage

In diesen beiden Videos erkläre ich die Möglichkeit, auch große Dateien in dem SQL Server zu speichern. Durch die Verwendung des Datentyp „varbinary(max)“ erlaubt der Server, bis zu 2 GB pro Datensatz zu speichern. Dabei kann unterschieden werden, ob die Dateiablage ausschließlich im SQL Server erfolgen soll, oder aber die Dateien in ein vordefiniertes Verzeichnis zurückgeschrieben wird.
Man stelle sich vor, Sie möchten die Dokumente Ihrer Kunden z.B. Rechnungen, Lieferscheine etc. ablegen. Das geht auch ohne besondere Software-Anpassung. Das kann man nämlich durchaus auch alleine. Wie? Das zeige ich in diesen beiden Videos.

DROP DATABASE IF Exists Dokumente;
GO
Create Database Dokumente;
GO
Use Dokumente;
GO
Create Table dbo.tblDokumente
(ID int Primary key,
Dokument varbinary(max) FILESTREAM);
GO
INSERT INTO dbo.tblDokumente (id , Dokument)
Select 1, * from OPENROWSET(BULK 'C:\Temp\Benutzerhandbuch.pdf', SINGLE_BLOB) as Dokument;
GO
Select * from dbo.tblDokumente



{--Script 2--}

DROP DATABASE IF Exists Dokumente;
GO
Create Database Dokumente;
GO
ALTER DATABASE [Dokumente] ADD FILEGROUP [FS] CONTAINS FILESTREAM
GO
ALTER DATABASE [Dokumente] ADD FILE ( NAME = N'fsDokumente',
FILENAME = N'C:\Temp\fsDokumente' ) TO FILEGROUP [FS]
GO
Use Dokumente;
GO
Create Table dbo.tblDokumente
(DokumentID uniqueidentifier ROWGUIDCOL primary key,
ID int,
Dokument varbinary(max) FILESTREAM);
GO
INSERT INTO dbo.tblDokumente (DokumentID,id , Dokument)
Select NEWID(), 1, 
* from OPENROWSET(BULK 'C:\Temp\Benutzerhandbuch.pdf', 
SINGLE_BLOB) as Dokument;
GO
Select * from dbo.tblDokumente
Facebook
Twitter
LinkedIn
WhatsApp
Email