我试图将我的数据库导出到.bacpac文件。我收到以下错误:
(provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
我使用的命令是:
/opt/mssql/bin/sqlpackage /action:Export /SourceServerName:localhost /SourceDatabaseName:MyDB /targetfile:'/media/jake/1F171B4C75D06418/MyDB.bacpac'
我尝试备份的数据库与我的mssql安装的ssd不同。我不知道这是否有所作为。
我一直在谷歌搜索如何解决这个问题,大多数使用Windows的人通过确保各种Windows服务正在运行并启动它们来解决他们类似的问题,如果他们不是。但是我不确定如何在linux中检查相同的东西,但我认为我需要的所有服务当前都在运行,因为我可以通过sqlcmd
以及JetBrains'连接到数据库。 DataGrip应用程序。所以我知道连接是可能的。我只是不知道为什么sqlpackage
无法连接......
根据建议,我给了以下命令:
/opt/mssql/bin/sqlpackage /action:Export /SourceServerName:tcp:localhost,1433 /SourceDatabaseName:MyDB /targetfile:'/media/jake/1F171B4C75D06418/MyDB.bacpac'
错误略有不同:
(provider: TCP Provider, error: 0 - No such host is known.)
答案 0 :(得分:0)
将代码置于评论中非常困难,所以我只是在这里发布。此代码是否适用于您的方案?它在我的测试机器上工作正常(ubuntu 16.04):
hostname=$(hostname)
/opt/mssql/bin/sqlpackage /action:Export /SourceServerName:tcp:$hostname /SourceDatabaseName:MYDB /targetfile:'/media/jake/1F171B4C75D06418/MyDB.bacpac' /su:sa /sp:Password01!