LocalDB 导入和导出选项不起作用

Posted

技术标签:

【中文标题】LocalDB 导入和导出选项不起作用【英文标题】:LocalDB import and export options not working 【发布时间】:2019-07-20 03:05:14 【问题描述】:

我使用命令提示符创建了一个 SqlLocalDB,但不知何故,我似乎无法将数据导入或导出到我的数据库中。在任何组织数据库上我都没有这个问题,但我的 LocalDB 不允许我这样做。

有什么办法可以解决这个问题,因为它只针对我的 LocalDB?

【问题讨论】:

请添加有关该问题的详细信息。 @Christian 我应该能够导入或导出数据,当右键单击数据库时,它是灰色的。如果我右键单击不在我的 LocalDB 中的数据库,我可以轻松导入/导出。 那你为什么不用完整的sql express呢?我需要测试一下。 也许其中一个答案会对您有所帮助:***.com/questions/13126726/…,建议使用我在下面的答案中发布的命令,使用连接到您的 localdb 实例的 sqlcmd,另一个建议是不要使用 WITH MOVE并使用原始的数据库路径名。我希望这会有所帮助。 【参考方案1】:

我仍然不太了解您的 localdb 实例,例如创建,权利,您看到灰色恢复选项的位置等,但是

docs 显示两个命令:

SqlLocalDB.exe create "DEPARTMENT" 12.0 -s

然后对于使用管理员权限的“共享实例”

SqlLocalDB.exe create "DeptLocalDB"  
SqlLocalDB.exe share "DeptLocalDB" "DeptSharedLocalDB"  
SqlLocalDB.exe start "DeptLocalDB"  
SqlLocalDB.exe info "DeptLocalDB"  
REM The previous statement outputs the Instance pipe name for the next step  
sqlcmd -S np:\\.\pipe\LOCALDB#<use your pipe name>\tsql\query  
CREATE LOGIN NewLogin WITH PASSWORD = 'Passw0rd!!@52';   
GO  
CREATE USER NewLogin;  
GO  
EXIT 

然后就可以使用进入实例了

sqlcmd -S (localdb)\.\DeptSharedLocalDB -U NewLogin -P Passw0rd!!@52

我仍然不确定你在尝试什么以及你是如何做事的, 但我觉得你应该尝试运行一个共享实例,但你仍然有“当前用户”问题。我担心您的灰色按钮问题也是与用户权限相关的问题,尽管我不是 100% 确定。

This user 在遇到一些困难后也切换到了 SQL Express。

通常你像这样导入数据库:

要查找导入数据库所需的名称,您可以运行

RESTORE FILELISTONLY
FROM DISK = 'D:\tmp\db.bak'

然后使用

恢复数据库
RESTORE DATABASE dbnameofyourchoice
FROM DISK = 'D:\tmp\db.bak'
WITH MOVE 'name_of_data_file' TO 
   'C:\...\db.mdf',
MOVE 'name_of_log' TO 
    'C:\...\db.ldf',
REPLACE;

【讨论】:

这方面有什么进展吗?这是另一篇有趣的文章alteridem.net/2016/03/24/restore-a-sql-server-backup-to-localdb,展示了用于导入备份的恢复命令/查询。

以上是关于LocalDB 导入和导出选项不起作用的主要内容,如果未能解决你的问题,请参考以下文章

VS2010导入/导出设置不起作用

导入和导出方法在js文件中不起作用[重复]

为啥包含导入和脚本后数据表选项不起作用

从 Eclipse 导入到 Android Studio 不起作用

导出 Oracle 数据库,将其导入其他用户,存储过程不起作用

iOS8:扩展存储提供程序(导入、导出、移动)不起作用