Sql server 如何使用tsql将表输出到txt文件?

Sql server 如何使用tsql将表输出到txt文件?,sql-server,tsql,Sql Server,Tsql,如何使用tsql将表输出到txt文件?我不想在此实例中使用DTS或SSI。 如果使用sql查询,则out可以替换为queryout;如果在中加载数据,则in可以替换为out -T windows身份验证,替换为-u和-p表示sql身份验证 -c输出为文本而不是二进制 -r是行终止符选项 -t os tje现场终端选项 -S以指定非默认服务器 我想这就是所有真正有用的导出选项。以下是谷歌搜索最常见的答案: EXEC master..xp_cmdshell'bcp "SELECT TOP 5 C

如何使用tsql将表输出到txt文件?我不想在此实例中使用DTS或SSI。

  • 如果使用sql查询,则out可以替换为queryout;如果在中加载数据,则in可以替换为out
  • -T windows身份验证,替换为-u和-p表示sql身份验证
  • -c输出为文本而不是二进制
  • -r是行终止符选项
  • -t os tje现场终端选项
  • -S以指定非默认服务器

我想这就是所有真正有用的导出选项。

以下是谷歌搜索最常见的答案:

EXEC master..xp_cmdshell'bcp "SELECT TOP 5 CUSTOMERID FROM Northwind.dbo.Customers" queryout "c:\text.txt" -c -T -x'

您还可以按CTRL+SHIFT+F将SQL Server Management Studio的输出重定向到文件。

我一直使用SQLCMD模式执行此操作。以下是一个例子:

-----------------------------
--Generate State seeds
-----------------------------

-- This is the path and file where you want the scripts to land.
:setvar OutDir "C:\Dev\Sandbox\GenTest\Scripts\"
:setvar OutFile "dbo.State.seed.sql" 

SET NOCOUNT ON;
GO

:out $(OutDir)$(OutFile)

SELECT 
    'INSERT [State] ([StateId], [StateCd], [Description]) VALUES ('
    + CAST( [StateId] AS VARCHAR(2))
    + ', ''' + [StateCd] + ''''
    + ', ''' + [Description] + ''''
    + ');'
FROM [State];

GO  --this 'GO' is vital for this to work correctly.

:out stdout
--格雷姆

-----------------------------
--Generate State seeds
-----------------------------

-- This is the path and file where you want the scripts to land.
:setvar OutDir "C:\Dev\Sandbox\GenTest\Scripts\"
:setvar OutFile "dbo.State.seed.sql" 

SET NOCOUNT ON;
GO

:out $(OutDir)$(OutFile)

SELECT 
    'INSERT [State] ([StateId], [StateCd], [Description]) VALUES ('
    + CAST( [StateId] AS VARCHAR(2))
    + ', ''' + [StateCd] + ''''
    + ', ''' + [Description] + ''''
    + ');'
FROM [State];

GO  --this 'GO' is vital for this to work correctly.

:out stdout