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 导入和导出选项不起作用的主要内容,如果未能解决你的问题,请参考以下文章
从 Eclipse 导入到 Android Studio 不起作用