从 MS SQL Server Management Studio 中的查询结果复制大数据

问题描述 投票:0回答:4

我有一个查询返回一个大的“ntext”结果。我想将其复制到纯文本编辑器(记事本),但只复制了一部分。

我尝试增加查询选项 -> 结果 -> 文本,但最大值似乎是 8192,这对我来说不够。

关于如何实现这一目标有什么想法吗?

如果重要的话,我正在使用 SQL Server Management Studio 2008。

蒂亚! 拉吉

sql-server-2008 ssms
4个回答
12
投票

我获取全部数据的方法是使用选项“将结果另存为...”,然后选择TXT文件,然后你可以使用像notepad++这样的好编辑器打开它,你将拥有所有数据。

干杯=0)


2
投票

尝试这样的事情:

--creates file on server
declare @cmd varchar(1000)
select @cmd = 'osql -U -P -S -Q"select * from yourtable" -o"c:\yourtextfile.txt" -w50000'
exec master..xp_cmdshell @cmd

--creates file on server
master..xp_cmdshell 'bcp your_table_or_view out c:\file.bcp -S -U -P -c '

--the limit of 8192 is per column, so split your column into multiple columns
--you will get a 1 character gap between these "columns" though
;WITH YourQuery AS
(
    SELECT
        col1
        FROM ...
)
SELECT SUBSTRING(col1,1,8192), SUBSTRING(col1,8193,8192), SUBSTRING(col1,16385,8192) --...

0
投票

我通过在“查询”>“查询选项”>“结果”>“检索的最大字符数”中将“非 XML 数据”增加到 2097152 解决了 SSMS 19.0 中的问题。


-2
投票

快速而肮脏的方式

  1. 右键单击表格 - “编辑前 200 行”
  2. 单击“显示 SQL 窗格”
  3. 编辑SQL以返回所需的值
  4. 单击执行 SQL
  5. 现在您可以复制大结果

我刚刚用这种方法复制了 87K 文本。

© www.soinside.com 2019 - 2024. All rights reserved.