FileTable in SQL Server 2012

File table in SQL Server 2012

السلام عليكم ورحمة الله وبركاتة موضوعنا اليوم يتكلم عن ال File Table  وماهي هذة الميزة القادمة الينا مع الSQL 2012

ال File table  هو اخاصية حفظ الملفات الى جانب الملفات الخاصة بقاعدة البيانات مما يتيح الينا سهولة التعامل معها  ولاتؤثر على كبر حجم قاعة البيانات والوقت المستغرف في عملية اخذ ال Backup حيث لدينا امكانية ال backup  على شكل ملفات منفصلة وهو تعتبر  الاصدار الجديد او المكمل من ال FileStreem الذي كان موجود في الاصدارات القديمة في ال SQL Server  ان الفائدة الرئيسية لل File table هي ان التطبيقات ال Windows API تستطيع التعامل والوصول الى الملفات بسولة تمامة كما تمكن المستخدم من التعامل مع الملفات كما سنرى من خلال الامثلة والشرح

كما يمكن التعامل مع الملفات عن طريق لغة ال TSQL

لندخل في صلب الموضوع وتوظح الطريقة العملية لذالك الخطوة الاولى هو ان يتنصيب ال File Stream  كما في الخطوات التالية

نذهب ال SQl Server Configuration Tools الى ال Server الذي نريد ان ننصب في ال FileStreem

نتبع الصورة التالية

FileS1

ثم نقوم بعملية  ال restart  لل Server

 نقوم بتفعيل ال File Stream الموجود في ال SQL Server  عن طريق الكود التالي

EXEC sp_configure filestream_access_level, 2

RECONFIGURE

GO

اما الان سوف اقوم بخلق ملف في البارتشن D  على سبيل المثال من خلال TSQL ومن الممكن خلقة بشكل يدوي لايؤثر

EXEC sp_configure ‘show advanced options’, 1

GO

RECONFIGURE

GO

— قبلو تنفيذ ايعاز ال XP_CMDshell.

EXEC sp_configure ‘xp_cmdshell’, 1

GO

RECONFIGURE

GO

Exec Xp_cmdshell ‘if not Exist D:\FileTable MkDir D:\FileTable’;

الان سوف اقوم بخلق قاعدة بيانات تحوي File Group من نوع File Stream

CREATE DATABASE FileTableDB

ON PRIMARY

(Name = FileTableDB,

FILENAME = ‘D:\FileTable\FTDB.mdf’),

FILEGROUP FTFG CONTAINS FILESTREAM

(NAME = FileTableFS,

FILENAME=’D:\FileTable\FS’)

LOG ON

(Name = FileTableDBLog,

FILENAME = ‘D:\FileTable\FTDBLog.ldf’)

WITH FILESTREAM (NON_TRANSACTED_ACCESS = FULL,

DIRECTORY_NAME = N’FileTableDB’);

GO

ألان نقوم بخلق ال File table  في قاعدة البيانات الخاصة بنا

USE FileTableDB

GO

CREATE TABLE FileTableTb AS FileTable

WITH

(FileTable_Directory = ‘FileTableTb_Dir’);

GO

لنشاهد الان الجدول المنشء

File 1

الان نقوم بوضع بياناتنا اما بطريقة ال Copy & past  عن طريق right Click  على الجدول ومن ثم الضغط على ال Explorer ومن ثم وضع الملفات التي تريد حفظها فيه

وشاهد النتائج من خلال استخدام ال ال Select  للجدول

SELECT *

  FROM [FileTableDB].[dbo].[FileTableTb]

ويمكننا ان نضع الملفات داخل الفولدر هذا عن طريق ال TSQL

كما في الكود التالي

INSERT INTO [dbo].[FileTableTb]

([name],[file_stream])

SELECT

‘SQL_Server_2012_Licensing_Reference_Guide.pdf’, * FROM OPENROWSET(BULK N’d:\SQL_Server_2012_Licensing_Reference_Guide.pdf’, SINGLE_BLOB) AS FileData

GO

اتمنى ان يكون الشرح واضح دعواتكم اذا امكن اخواني الكرام

 

 

Advertisements

شاركنا بارد

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s