sql-server – 包含要使用文件流的二进制文件的现有表
发布时间:2021-05-25 15:06:29 所属栏目:MsSql教程 来源:网络整理
导读:我有几个表,我想使用文件流存储. 这些表已包含二进制数据并具有rowguids.但是,在创建它们时,表未添加到启用文件流的文件组中. 这些表在这一点上使用文件流的最佳方法是什么?我是否需要删除重新创建表并迁移数据?有没有更简单的方法? 数据库已启用了文件
我有几个表,我想使用文件流存储. 这些表已包含二进制数据并具有rowguids.但是,在创建它们时,表未添加到启用文件流的文件组中. 这些表在这一点上使用文件流的最佳方法是什么?我是否需要删除重新创建表并迁移数据?有没有更简单的方法? 数据库已启用了文件流,还有其他表正在使用它们. 解决方法您不需要将整个表添加到文件流文件组,实际上您不能,因为只有文件流列存储在文件流存储中;同一个表中的其他列转到正常存储.首先,您需要选择要用于存储表的文件流数据的文件流文件组: ALTER TABLE YourTable SET (FILESTREAM_ON = FSGroup) 然后,您只需将filestream列添加到表中: ALTER TABLE YourTable ADD YourColumn varbinary(max) FILESTREAM 但是,如果没有以这种方式定义,则无法更改现有列以开始使用filestream;但是您可以创建一个新列,复制数据然后删除旧列并重命名新列: ALTER TABLE YourTable ADD NewColumn varbinary(max) FILESTREAM UPDATE YourTable SET NewColumn = OldColumn ALTER TABLE YourTable DROP COLUMN OldColumn EXEC sp_rename 'NewColumn','OldColumn','COLUMN' (编辑:站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sql – 从已连接表的列表中选择唯一列名
- sql-server – sys.databases中某些列的排序规则是什么?
- sql-server – 什么时候动态端口“动态”?
- sql存储过程有何好处?怎样创建和使用?
- sql – 具有Desc / Asc排序的Order By子句的Case语句
- sql语句优化规则是什么?sql语句编写需要注意什么问题?
- 深入了解SQL Server聚合函数算法优化
- sql-server – DL380p-Gen8 D2700适用于SQL 2012标准版的适
- sql-server – 在Sql Server中,有没有办法检查选定的一组行
- sql自定义函数有何用处?与存储过程区别在哪?