dou*_*ald 14 t-sql ssms sql-server-2008
我在数据库表中有一个VARBINARY(MAX)字段,其中包含~35k个字符.该字段是转换后的Word文档,遗憾的是它不再具有访问权限.
该字段存在于我的开发数据库中,我希望将此值移植到实时数据库.但是,如果我纯粹从SQL格式中选择内容,那么我似乎只能获得~28k的可用字符.
所以我的问题是,将具有太大内容的字段迁移到简单复制并粘贴到插入脚本中的最佳方法是什么?
任何想法都非常感激.
编辑:
作为附加信息,将结果输出到文件(尽管是.txt)似乎比通过网格更少的字符.如果我将查询结果导出到运行查询到网格的文件后,我似乎得到了当时查询窗口中的内容的文字表示(因此,如果我拉伸窗口,我得到的字符多于压缩列宽度时的字符数)
Tim*_*ner 25
要从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
Run Code Online (Sandbox Code Playgroud)
您可能需要至少打开一个新的查询窗口以应用设置.请注意,因为XML是无限的,你可以潜在地转换为XML得到充分的结果.在这种情况下,您可以执行以下操作:
select cast(convert(varchar(max), MyColumn, 1) as xml) -- Use style 1 to get "0x..."
Run Code Online (Sandbox Code Playgroud)
总而言之,正如其他人所提到的,可能有更好的(并且可自动化/可再现的)方法来在您的系统周围移动数据:
您只需将结果导出(另存为)到 csv 即可。
1) 在 SSMS 中运行查询
2) 结果以网格格式显示
3) 右键单击网格,然后选择将结果另存为
4) 选择 csv 或文本文件格式
5) 将结果保存到文件
这种方式将导出所有数据,您可以从那里选择您想要的所有文本。
注意:这些步骤是使用 SSMS 2012 完成的,但对于 2008 和其他数据库管理工具应该相同或相似
| 归档时间: |
|
| 查看次数: |
15215 次 |
| 最近记录: |