微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sql-server-2008 – 将大字段(varbinary(max))复制到文件/剪贴板

我在数据库表中有一个VARBINARY(MAX)字段,其中包含大约35k个字符.这个字段是一个转换的单词文档,不幸的是不再有访问权限.

此字段存在于我的数据库中,我正在将该值移植到实时数据库.但是,如果我纯粹选择了网格中的内容,sql中似乎只能获得〜28k的可用字符.

所以我的问题是,迁移一个内容太大的字段的最佳方法是简单的复制和粘贴到插入脚本中?

任何想法都非常感谢

编辑:

作为附加信息,将结果输出文件(尽管.txt)似乎给我的字符少于通过网格.如果我将查询结果导出到文件,将查询运行到网格,我似乎得到了当时在查询窗口中的字面表示(所以如果我拉伸窗口,我会得到比我压缩列宽更多的字符)

解决方法

要从SSMS查询结果窗格中可靠地复制大型字符串,您需要密切注意以下设置(我正在查看SSMS 10.50.2500.0):
Tools > Options > Query Results > sql Server > Results to Grid
    Max chars retreived:
        Non-XML: 65535
        XML: Unlimited

Tools > Options > Query Results > sql Server > Results to Text
    Max chars displayed:    
        8192

您可能需要至少打开一个新的查询窗口才能应用设置.请注意,由于XML是无限制的,您可以将其转换为XML以获得完整的结果.在这种情况下,您可以执行以下操作:

select cast(convert(varchar(max),MyColumn,1) as xml) -- Use style 1 to get "0x..."

所有这些说,可能有更好的(和可自动化/可重复)的方法来移动数据在您的系统上,如其他人所提到的:

>设置一个linked server来简单地运行一个insert语句
>使用openrowset查询远程服务器> SSMS:导出数据,生成脚本,结果到文件> SSIS>第三方工具(Redgate Data Compare等)

原文地址:https://www.jb51.cc/mssql/79155.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐