【问题标题】:Execute large number of query in MS SQL Server 2014在 MS SQL Server 2014 中执行大量查询
【发布时间】:2017-12-15 14:35:03
【问题描述】:

我在一个文件中有近似的10000000 查询,用于将数据插入 MS SQL Server。该文件的文件大小为 3.09 GB。

有没有办法执行这个文件。 在这个文件中,我们只有插入查询,而不是备份文件,它是一个简单的文本文件,插入查询的数量如下所示

INSERT INTO testcomment (commentid, createtime, requestid, activityid, activitytype, authortype, author, principal, messageid, sequencenumber, commenttext) VALUES ('0ef2b7afdb0648bf8fbcc7ad49bd9a3a', '2017-07-06 14:07:10.594', 'c9020d235b7a46fe81703945a55dc397', 'Activity12', 0, 'User', 'IDMProv', NULL, 'User_Task_Timedout', 1499364430594, 'User_Task_Timedout|System');
INSERT INTO testcomment (commentid, createtime, requestid, activityid, activitytype, authortype, author, principal, messageid, sequencenumber, commenttext) VALUES ('07e38a77b68b469abb55d5fa0560f3b4', '2017-01-11 10:23:40.873', 'ddaec20367be4247ac34c94249827b1e', 'Activity13', 0, 'System', 'IDMProv', 'System', 'Workflow_Forwarded', 1484148220873, 'Workflow_Forwarded');

所以请给我一个简单的方法来做到这一点。

我使用的是 MS SQL Server 2014。

【问题讨论】:

  • 您可以尝试从 sqlcmd 执行脚本
  • 10000000 个查询是很多查询。
  • 您已标记 Sql Server 2005、2008、2012 和 2014...您使用的是哪个...?如果您有一个(大约)10,000,000 行长的查询,我假设您的意思是什么?就个人而言,我建议使用sqlcmd。我有几个大小约为 1GB 的查询,并且执行工作没有问题。
  • @Larnu 我正在使用 MS SQL Server 2014。
  • @RaduGheorghiu 当我使用 sqlcmd 运行我的脚本时,它执行了两次。

标签: sql-server sql-server-2008 sql-server-2005 sql-server-2012 sql-server-2014


【解决方案1】:

我会使用控制台来完成这样的任务:

sqlcmd -S <server> -i C:\your_filename.sql 

【讨论】:

  • 当我使用 sqlcmd 运行我的脚本时,它执行了两次。
【解决方案2】:

您可以使用 sqlcmd 来运行整个脚本,而无需在 SSMS 中打开它。

Here's a quick tutorial 来自 Microsoft,了解如何使用它。

或者几乎是从 MS 网站复制粘贴:

  1. 打开命令提示符窗口。
  2. 在命令提示符窗口中,键入:sqlcmd -S myServer\instanceName -i C:\myScript.sql
  3. 按 ENTER。

【讨论】:

  • 我是否必须像这样将我的 txt 文件更新为 .sql 文件,USE DatabaseName; GO INSERT INTO testcomment (commentid, createtime, requestid, activityid, activitytype, authortype, author, principal, messageid, sequencenumber, commenttext) VALUES ('0ef2b7afdb0648bf8fbcc7ad49bd9a3a', '2017-07-06 14:07:10.594', 'c9020d235b7a46fe81703945a55dc397', 'Activity12', 0, 'User', 'IDMProv', NULL, 'User_Task_Timedout', 1499364430594, 'User_Task_Timedout|System'); Go
  • 当我在命令提示符(以管理员身份运行)上尝试 sqlcmd -S WIN-8B909VTGS9P.demo.local -i G:\logs\asd.sql 时,它给了我错误 Sqlcmd: Error: Microsoft SQL Server Native Client 11.0 : SQL Server Network Interfaces: The system cannot contact a domain controller to service the authentication request. Please try again later. Sqlcmd: Error: Microsoft SQL Server Native Client 11.0 : Cannot generate SSPI context.,但我可以使用相同的服务器名称连接 SQL Management Studio。
  • 当我使用 sqlcmd 运行我的脚本时,它会执行两次相同的查询。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多