永发信息网

如何配置ci框架连接sqlserver

答案:1  悬赏:50  手机版
解决时间 2021-02-19 11:19
如何配置ci框架连接sqlserver
最佳答案
一、启用FileTable
  1、修改数据库引擎的属性
  打开“SQL Server配置管理器”,修改SQL Server数据库引擎的属性。使用此页可针对此 Microsoft SQL Server 2012安装启用 FILESTREAM。

  (1)针对 Transact-SQL 访问启用 FILESTREAM
  选中此项可针对 Transact-SQL 访问启用 FILESTREAM。 必须选中此控制选项,才能使用其他控制选项。如果不启用此选项,就不能添加FileStream文件组。
  (2)针对文件 I/O 流访问启用 FILESTREAM
  选中此项可针对 FILESTREAM 启用 Win32 流访问。
  (3)Windows 共享名
  使用此控制选项可输入将用来存储 FILESTREAM 数据的 Windows 共享的名称。默认为该SQL Server实例的名称。
  (4)允许远程客户端针对 FILESTREAM 数据启用流访问
  选中此控制选项可允许远程客户端访问此服务器上的此 FILESTREAM 数据。

  2、修改服务器的属性
  打开“SQL Server Management Studio”,修改该实例的配置。默认配置如下:

  上述选项解释如下:
  (1)“FILESTREAM 访问级别”显示 SQL Server 实例上支持的 FILESTREAM 的当前级别。若要更改访问级别,请选择以下值之一:
  已禁用
  无法将二进制大型对象 (BLOB) 数据存储在文件系统中。此为默认值。即filestream access level=0
  已启用 Transact-SQL 访问
  可使用 Transact-SQL 访问 FILESTREAM 数据,但不能通过文件系统进行访问。即filestream access level=1
  已启用完全访问
  FILESTREAM 数据可使用 Transact-SQL 以及通过文件系统进行访问。即filestream access level=0
  注意:在首次启用 FILESTREAM 时,您可能需要重新启动计算机才能配置驱动程序。
  (2)“FILESTREAM 共享名称”显示在安装过程中选择的 FILESTREAM 共享的只读名称。

  在本次实验中,我们将“FILESTREAM 访问级别” 设定为:已启用完全访问。
  如果是通过T-SQL脚本执行,则运行以下脚本:
  EXEC sys.sp_configure N'filestream access level', N'2'
  RECONFIGURE WITH OVERRIDE

  注意:设置完成之后,重启实例。

  3、配置防火墙
  若要在防火墙保护的环境中使用 FILESTREAM,客户端和服务器都必须能够将 DNS 名称解析为包含 FILESTREAM 文件的服务器。FILESTREAM 要求 Windows 文件共享端口 139 和 445 处于打开状态。

  二、配置文件组
  1、添加文件组
  完成上述操作之后,就可以为该数据库添加专用于FileStream的文件组。

  如果是通过脚本操作,请运行以下脚本:
  ALTER DATABASE [db01] ADD FILEGROUP [FileStreamFileGroup] CONTAINS FILESTREAM

  2、添加文件
  完成上述操作之后,就可以为该数据库添加FilStream类型的数据库文件。

  在本例中,系统并没有为“FileStream数据”的文件类型创建mdf或ndf文件,而是在文件夹C:\SqlData下面自动创建以逻辑名称命名的文件夹,即 C:\SqlData\FileData。其中filestream.hdr 文件是 FILESTREAM 容器的头文件。当这个数据库被删除时,mdf、ndf、log连同这个文件夹都会被删除。

  如果是通过脚本操作,请运行以下脚本:
  ALTER DATABASE [db01] ADD FILE ( NAME = N'FileData', FILENAME = N'C:\SqlData\FileData' ) TO FILEGROUP [FileStreamFileGroup]
  注意:在上例中,在运行脚本之前,必须存在C:\SqlData,建议使用右侧的选择按钮选择路径。如果路径不存在,就会报错:

  同时不能存在重复的文件夹,即不能存在C:\SqlData\FileData。否则也会报错:


  3、启动非事务访问
  FileTable 使 Windows 应用程序可以获取 FILESTREAM 数据的 Windows 文件句柄而不需要 SQL Server 事务。为了允许对 SQL Server 中存储的文件进行此非事务性访问,必须为要包含 FileTable 的每个数据库在数据库级别上指定所需的非事务性访问级别。

  选项解释如下:
  (1)FILESTREAM 非事务访问
  为从文件系统到 FileTables 中存储的 FILESTREAM 数据的非事务性访问指定以下选项之一:OFF、READ_ONLY 或 FULL。
  如果在服务器上未启用 FILESTREAM,则该值将设置为 OFF 并且被禁用。在本次实验中,将其设置为FULL。
  (2)FILESTREAM 目录名称
  为与所选数据库相关联的 FILESTREAM 数据指定目录名称。在 FileTable 文件夹层次结构中,此数据库级目录将成为在实例级别为 FILESTREAM 指定的共享名称的子级以及在数据库中创建的 FileTable 的父级。
  如果启用非事务性访问时没有提供目录名称,则在以后必须提供它,这样才能在数据库中创建 FileTable。

  如果是通过脚本执行,如下:
  ALTER DATABASE db01
  SET FILESTREAM ( NON_TRANSACTED_ACCESS = FULL, DIRECTORY_NAME = N'ImageFiles' )
  注意:更改现有数据库时,调用带 DIRECTORY_NAME FILESTREAM 选项的 ALTER DATABASE (Transact-SQL) 语句。使用这些选项更改目录名称时,数据库必须以独占方式锁定,没有打开的文件句柄。

  说明:为检查是否在数据库上启用了非事务性访问,可以查询目录视图,脚本如下:
  SELECt DB_NAME(database_id), non_transacted_access, non_transacted_access_desc
  FROM sys.database_filestream_options

  三、创建FileTable
  1、创建第一个FileTable
  “SQL Server Management Studio”只提供一个脚本模板,要想创建FileTable还是得用脚本完成:
  USE db01
  CREATE TABLE ImageTable1 AS FILETABLE
  官方的范本为:
  USE [db01]
  CREATE TABLE [dbo].[ImageTable1] AS FILETABLE ON [PRIMARY] FILESTREAM_ON [FileStreamFileGroup]
  WITH
  (FILETABLE_DIRECTORY = N'ImageTable1', FILETABLE_COLLATE_FILENAME = Chinese_PRC_CI_AS)

  2、创建第二个FileTable
  CREATE TABLE ImageTable2 AS FILETABLE

  3、获取共享路径
  文件表创建之后,就会相应的产生一个文件表共享目录,该目录路径可以通过内建函数获取:
  SELECt FileTableRootPath('ImageTable1')
  本次实验所返回的结果为:\\SQL1\SqlFile\ImageFiles\ImageTable1

  4、查看
  通过Windows资源管理器,可见已经创建了以GUID命名的文件夹。

  通过SQL Server Management Studio,查看表的结构。


  四、操作
  1、向文件夹中添加文件
  通过 “Windows资源管理器”,向文件夹\\SQL1\SqlFile\ImageFiles\ImageTable1中添加一个文件A01.GIF。然后运行脚本:
  select * from ImageTable1
  结果如下:

  可见, SQL Server自动在Table中添加了记录。

  2、文件改名
  运行以下脚本:
  update ImageTable1 set name='Cup.GIF' where name='A01.GIF'
  通过“Windows资源管理器”,查看文件夹\\SQL1\SqlFile\ImageFiles\ImageTable1,可见文件A01.GIF已经被改名为Cup.GIF 。

  3、查看共享文件夹
  我们可以继续复制其他文件,然后通过“Windows资源管理器”,查看文件夹。


  4、删除文件
  可以使用脚本删除,例如:
  Delete ImageTable1 where name='Cup.GIF'
  或者,通过“Windows资源管理器”直接删除该文件。

  五、备份和还原

  1、备份数据库
  使用 SQL Server 备份数据库时,FILESTREAM 数据将与数据库中的结构化数据一起备份。


  2、部分备份
  如果不想将 FILESTREAM 数据与关系数据一起备份,则可以使用部分备份将 FILESTREAM 文件组排除在外。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
细胞膜上与细胞的识别、信息传递有着密切关系
有没有不花钱就做代理商?
巨业干货店在哪里啊,我有事要去这个地方
车油哪一种最好95.97.92
杨柏屯这个地址在什么地方,我要处理点事
股票军工航天类有哪些
中国人寿保险邢台市收展部地址有知道的么?有
从县城去渑池南站有公交车吗?
WIN7电脑开机突然变得好慢,
复方硼酸钠溶液又称为A.哈特曼液B.优琐溶液C.
矿物质油对皮肤有无伤害
309不锈钢化学成分
有外遇的男人有哪些表情现
人民公社南宁店在哪里啊,我有事要去这个地方
【几分之几怎么打】几分之几怎么打
推荐资讯
贷款五万八千,三十六个月,利息一分二,月供
为什么CO2过量:CO2过量:AlO2- + 2H2O + CO2
次岔波山在什么地方啊,我要过去处理事情
紫砂壶的壶身跟壶底有一起做的吗?
小学生学生心语
乔岭村地址有知道的么?有点事想过去
【当春乃发生的前一句是什么】""当春乃发生""
已经26年的口头协议农村宅基地互换是否受法律
48v电动车改60v。但是车灯是48v没有转换器,
正心素食店在哪里啊,我有事要去这个地方
古月楼地址有知道的么?有点事想过去
【笼天地于形内】陆机《文赋》中的笼天地于形
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?