1. Запускаем диспетчер конфигурации MS SQL Server;
2. В свойствах сервера во вкладке “Filestream” включаем все настройки(отмечаем все галочки), сохраняем, перезапускаем службу MS Sql Server:

3. Запускаем скрипт :
|
EXEC sp_configure filestream_access_level, 2 RECONFIGURE; |
4. Делаем резервную копию базы данных;
5. С помощью скрипта создаём Файловую группу:
| — Создание файловой группы FILESTREAM
ALTER DATABASE [название БД] |
6. С помощью скрипта добавляем файл в файловую группу:
| — Добавление файла в файловую группу. Скрипт сам создаст папку.
ALTER DATABASE [название БД] |
7. С помощью скрипта создаем таблицу:
| CREATE TABLE [dbo].[ATTACHMENT_FILES_NEW](
[ID] [dbo].[DT_ID] IDENTITY(1,1) NOT NULL, [ROWGUID] uniqueidentifier rowguidcol DEFAULT newid() NOT NULL UNIQUE, [NAME] [dbo].[DT_STR200] NULL, [EPMZID] [dbo].[DT_REF] NOT NULL, [CONTENT] varbinary(max) FILESTREAM NULL, [UPDDATETIME] [dbo].[DT_DATETIME] NULL, [ENABLED] [dbo].[DT_ENABLED] NOT NULL, [AUTHOR] [dbo].[DT_REF] NOT NULL, [CREATIONDATETIME] [dbo].[DT_DATETIME] NULL, [EXDATAXML] [dbo].[DT_XML] NULL, [FILENAME] [dbo].[DT_STR1024] NULL, [ISOLE] [dbo].[DT_BYTE] NULL, [ISNATIVFORMAT] [dbo].[DT_BYTE] NULL, PRIMARY KEY CLUSTERED ( [ID] ASC ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] FILESTREAM_ON [attach] GO SET ANSI_PADDING OFF GO EXEC sys.sp_addextendedproperty @name=N’MS_Description’, @value=N’Поле содержит расширеный XML (например для док-в Word) это содержимое всех полей формы’ , @level0type=N’SCHEMA’,@level0name=N’dbo’, @level1type=N’TABLE’,@level1name=N’ATTACHMENT_FILES_NEW’, @level2type=N’COLUMN’,@level2name=N’EXDATAXML’ GO EXEC sys.sp_addextendedproperty @name=N’MS_Description’, @value=N’Имя файла’ , @level0type=N’SCHEMA’,@level0name=N’dbo’, @level1type=N’TABLE’,@level1name=N’ATTACHMENT_FILES_NEW’, @level2type=N’COLUMN’,@level2name=N’FILENAME’ GO EXEC sys.sp_addextendedproperty @name=N’MS_Description’, @value=N’Файл храниться в «Родном» формате. Иначе в формате OLE’ , @level0type=N’SCHEMA’,@level0name=N’dbo’, @level1type=N’TABLE’,@level1name=N’ATTACHMENT_FILES_NEW’, @level2type=N’COLUMN’,@level2name=N’ISNATIVFORMAT’ GO |
После чего прогоняем следующий скрипт:
|
USE [ArchiMed]
GO
SET IDENTITY_INSERT ATTACHMENT_FILES_NEW ON;
INSERT INTO [dbo].[ATTACHMENT_FILES_NEW]
([ID]
,[NAME]
,[EPMZID]
,[CONTENT]
,[UPDDATETIME]
,[ENABLED]
,[AUTHOR]
,[CREATIONDATETIME]
,[EXDATAXML]
,[FILENAME]
,[ISOLE]
,[ISNATIVFORMAT])
select [ID]
,[NAME]
,[EPMZID]
,[CONTENT]
,[UPDDATETIME]
,[ENABLED]
,[AUTHOR]
,[CREATIONDATETIME]
,[EXDATAXML]
,[FILENAME]
,[ISOLE]
,[ISNATIVFORMAT] from ATTACHMENT_FILES
GO
SET IDENTITY_INSERT ATTACHMENT_FILES_NEW OFF;
|
8. Удаляем старую таблицу ATTACHMENT_FILES
9. После чего переименовываем новую таблицу ATTACHMENT_FILES_NEW в ATTACHMENT_FILES.

