无法从 SQL Management Studio 中的 LocalDB 生成脚本

Posted

技术标签:

【中文标题】无法从 SQL Management Studio 中的 LocalDB 生成脚本【英文标题】:Can't generate scripts from LocalDB in SQL Management Studio 【发布时间】:2014-05-12 09:33:46 【问题描述】:

我无法从我的 LocalDB 数据库 (localdb)\v11.0 导出脚本。 (SQL Express 没问题)

我得到的错误是

保存或发布脚本报告

从“XXX”获取对象列表。失败

System.IndexOutOfRangeException:索引超出范围 大批。在 Microsoft.SqlServer.Management.SqlScriptPublish.GeneratePublishPage.worker_DoWork(对象 发件人,DoWorkEventArgs e) 在 System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e) 在 System.ComponentModel.BackgroundWorker.WorkerThreadStart(对象 论据)

这是使用 SQL Server 2008 R2。

有人知道这是什么原因吗?

【问题讨论】:

您是否尝试过使用 SSMS 2012? @ErikEJ 不。我的同事正在使用 2008 R2,但没有任何问题。 @ErikEJ 经过仔细检查,他的版本比我的版本更新。我有 10.50.1617.0,他有 10.50.20500.0 嗯,最新版本是 10.50.4305,所以你有一些旧软件 @ErikEJ 虽然还不清楚如何更新 2008,但我安装了 SSMS 2014 解决了我的问题。如果您想添加作为答案,我会接受它 【参考方案1】:

由于 LocalDb 是 SQL Server 2012,因此您应该使用 SSMS 2012 或更高版本来执行此脚本任务

【讨论】:

我同意 ErikEJ 的观点。没有理由不使用 SSMS 2012,因为它向后兼容并且可以免费下载。

以上是关于无法从 SQL Management Studio 中的 LocalDB 生成脚本的主要内容,如果未能解决你的问题,请参考以下文章

SQL Management Studio 在脚本创建后无法识别表存在

System.Data.SqlClient.SqlException - 无法通过Management Studio连接到SQL Server

如何从 SQL Server Management Studio 中的表生成 CRUD 存储过程

SQL Server Management Studio无法记住密码

无法打开SQL Server Management Studio

在 SQL Server Management Studio 中保存文件失败