问题标签 [sqlcmd]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
738 浏览

c# - C#中的Powershell Sqlcmd弹出窗口

我有一个 PSHost 对象执行 Powershell 脚本 myscript.ps1 并且 .ps1 脚本正在执行 sqlcmd.exe 以完成它需要完成的工作。有没有办法让它不弹出空的 sqlcmd dos 提示(就像它看起来那样)?

0 投票
13 回答
186632 浏览

sql-server - 如何将 SQL Server 2005 查询导出为 CSV

我想将一些 SQL Server 2005 数据导出为 CSV 格式(用引号分隔的逗号)。我可以想到很多复杂的方法来做到这一点,但我想以正确的方式去做。我看过 bcp,但我不知道如何在字段周围加上引号(除了将它们连接到字段值,这很难看)。我想我可以用 sqlcmd 和 -o 来做到这一点,但出于同样的原因,这看起来很难看。

有没有 bcp 方法可以做到这一点?

有没有合理的 sqlcmd 方法来做到这一点?

Management Studio 中是否有一些很棒的、简单的实用程序,而我只是忽略了这些实用程序?

0 投票
5 回答
18035 浏览

sql-server - SQLCMD,命令行变量和脚本:setvar

在运行 SQLCMD.exe 并为脚本变量提供命令行参数时,我希望命令行上提供的值将覆盖 SQL 脚本文件中定义的值。

例如

给定以下 SQL 脚本:

和命令行:

我希望输出是:

批处理脚本

但是输出是:

SQL 脚本

这是有意的,还是必须:setvar删除 SQL 脚本中的语句?

我在脚本中提供了:setvar语句,因此我可以使用 SQLCMD 模式在 SQL Management Studio 中编辑/测试脚本,但在我的测试和生产环境中从命令行运行脚本。

0 投票
8 回答
8252 浏览

sql - 如何执行 3GB 的 SQL 文件(Microsoft SQL Server)?

我有一个不适合内存的大 SQL 文件,需要针对 Microsoft SQL Server 2008 执行。似乎该sqlcmd.exe工具总是先将其加载到内存中,这在这种情况下是不可能的。有任何想法吗?

不幸的是,我无法拆分脚本,因为它是由 Red Gate 出色的 SQL 数据比较生成的。整个脚本是一笔大交易,我想保持这种状态。我从来没有想过拥有一个巨大的脚本是不寻常的,因为在数据库世界中拥有大量数据是很常见的。脚本大小为 3gb。

0 投票
2 回答
3919 浏览

sql - Powershell SQLCMD

我们在使用 Powershell 和 SQLCMD 时遇到问题,当 -v 参数变量中存在 sapces 时,powershell 不会运行该命令。

例如

有没有人经历过这种情况或知道如何解决这个问题?

谢谢,

0 投票
6 回答
5514 浏览

sql - 在运行时显示 SQL Server 查询结果中的数据类型和列大小

有没有办法运行查询,然后让 SQL Server 管理工作室或 sqlcmd 或其他东西简单地显示接收到的每列的数据类型和大小。

似乎必须存在此信息才能在服务器和客户端之间进行数据传输。如果能显示出来对我很有帮助。

一点背景知识: 我问的原因是因为我必须与无数的遗留存储过程交互,每个存储过程都有 50 到 5000 多行代码。我不想尝试遵循进出临时表的神秘逻辑流程,进入其他过程,进入字符串连接的 eval 语句等等。我希望对实现不了解,只希望它们工作时会发生什么。不幸的是,遵循逻辑流程似乎是找出确切返回的内容的唯一方法,而无需尝试推断数据字符串表示的实际类型 om management studio studio 或 .net 中的本机类型。

澄清一下:我不是在问如何分辨表格的类型或类似的静态内容。我很确定像 sp_help 这样的东西不会帮助我。我在问如何判断我所获得的 sql 服务器类型(即 varchar(25)、int...)是什么。此外,无法更改存储过程的实现,因此请在您的解决方案中考虑这一点。我真的希望有一个我在某个地方错过的命令。非常感谢大家。

更新 我想我真正要问的是,当结果集源自使用临时表的查询时,如何获取结果集的架构。我理解这是不可能的,但对这个结论没有多大意义,因为数据毕竟是在传输的。下面是一个会导致问题的存储过程的示例。

0 投票
3 回答
3629 浏览

database - 尝试使用 sqlcmd 从大型 .sql 文件还原数据库 - 错误

我正在尝试使用以下命令从大文件中恢复数据库数据.sql

我收到以下错误:

我无法打开文件,内存不足。

0 投票
1 回答
1143 浏览

sql - SQLCMD.EXE 生成丑陋的报告。如何格式化?

我做了批处理来运行 SQL 查询,比如

它显示 2 个表格并生成一些带有某种“P”不需要的字母的丑陋报告......见下文

我还尝试使用下一个查询从此过程生成 1 个表

但得到了类似的丑陋报告:

是否可以更改报告的布局格式?让它更漂亮?

0 投票
4 回答
11715 浏览

sql-server - 插入记录时,SET QUOTED IDENTIFIER 应为 ON

我遇到了 SQL Server 2005 的一个相当奇怪的问题,它抛出

“插入记录时应启用 SET QUOTED IDENTIFIER”

(用作 SP)到特定的表。这之前工作得很好,但是随机抛出这个错误。

我已经验证了SP。我们没有在里面手动指定 SET QUOTED IDENTIFIER 设置,所以默认必须是 ON。

有人可以澄清可能是什么问题吗?

必须使用 SET QUOTED IDENTIFIER ON 创建表吗?我还没有检查表格脚本。

我观察到此问题仅发生在 SP 对日期列 (modifiedAt) 执行插入或更新时...示例值为 '2009-08-10 06:43:59:447'..

传递的值有问题吗?

0 投票
2 回答
12264 浏览

sql - 我们如何告诉 sqlcmd 继续“出错”下一批?

关于如何做到这一点的任何想法?