【问题标题】:2008 sqlcmd utility much slower on windows server 2003 than windows 7Windows Server 2003 上的 2008 sqlcmd 实用程序比 Windows 7 慢得多
【发布时间】:2012-01-07 06:48:25
【问题描述】:

我正在运行一组 SQL 脚本来创建 SQL Server 2008 数据库(模式和静态数据)。我遇到的问题是脚本在我的 windows 7 开发机器上运行 6 分钟,但在构建服务器(即 windows 2003)上运行时,脚本需要 40 分钟才能运行完。

我知道即使是 6 分钟也太长,但 40 分钟是不可接受的!大部分时间是在设置成百上千的静态数据记录(从sql server management studio脚本成1000个批次)。

从以下网站下载了 SQLCMD 实用程序以及用于 SQL Server 2008 的 SQL 客户端工具:http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=8824

所以我的问题是:

是否有任何已知原因导致在 Windows Server 2003 机器上运行 SQLCMD 比在 Windows 7 机器上运行慢?

【问题讨论】:

  • 进一步检查我认为这可能是 64 位和 32 位版本的性能差异?巨大的差异是否可能与不同的版本有关。我在两个 32 位服务器 2003 机器上运行了脚本,并且都运行得很慢。我在服务器 2008 64 机器上运行脚本,它和我的开发机器一样快。我想知道有没有其他人经历过这样的事情?
  • 您是否在脚本中创建新数据库/数据文件/恢复备份?请告诉我们更多关于你的脚本在做什么。
  • 从脚本创建一个新数据库,请参阅下面我对您的回答的回复以获取更多信息。

标签: sql-server sqlcmd


【解决方案1】:

是否有可能您没有在服务器上启用Instant File Initialization

【讨论】:

  • 嗨,John,感谢您的回复,我阅读了这篇博文,这是一篇有趣的文章,我以前从未听说过即时文件初始化。至于你上面的问题,我确实在问题中遗漏了一些细节。我在共享数据库服务器上创建数据库,我运行测试的所有 Windows 机器都使用 sqlcmd 针对同一网络上的同一数据库服务器运行脚本。这些脚本包含模式创建脚本(创建表、默认值、索引等......并且还为所有静态数据插入脚本(价值 90MB)。任何其他想法为什么它在服务器 2003 上慢得多
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-01
  • 1970-01-01
  • 2011-03-29
  • 1970-01-01
  • 1970-01-01
  • 2011-05-11
相关资源
最近更新 更多