DBeaver和Azure SQL数据仓库 - SQL错误[104455] [S0001]:不支持在数据库之间切换的USE语句

时间:2016-11-29 20:01:06

标签: azure-sqldw dbeaver

我在不同的逻辑服务器上有一系列Azure SQL数据仓库数据库。我主要使用DBeaver与它们进行交互(因为我们正在努力获得支持ADW的Management Studio版本)。

我从DBeaver为所有各种数据库配置了JDBC连接,但在一个数据库的连接上是唯一的,当尝试在DBeaver中导航对象树时,扩展表,视图,索引和显示所述对象列表的程序:

SQL Error [104455] [S0001]: USE statement is not supported to switch between
databases. Use a new connection to connect to a different     
Database.com.microsoft.sqlserver.jdbc.SQLServerException: USE statement is   
not supported to switch between databases. Use a new connection to 
connect to a different Database.

我们的本地Azure支持团队(包括MSFT员工)在几周内配置了各种ADW数据库和服务器。我个人使用相同的T-sql在数据库上创建了登录/用户。

为什么这些PaaS数据库的行为会有所不同?

1 个答案:

答案 0 :(得分:1)

Azure中的SQL s erver是一个逻辑容器,与SQL S erver的框版本中的服务器(也称为实例)不同。这引入了许多不同之处,包括无法支持" USE"因为它目前正在实施。有关详细信息,请参见https://docs.microsoft.com/en-us/azure/sql-database/sql-database-transact-sql-information

当您连接到Azure SQL DB或SQL DW时,SSMS首先连接到master以获取数据库列表(以及其他一些内容)。当您在SSMS中导航对象浏览器以查看不同DB / DW / StretchDB中的各种对象时,它将为您浏览的每个数据库打开一个新连接。

根据您的描述,您使用的DBeaver版本似乎在假设它连接到本地SQL Server的情况下运行,因此" USE"失败。建议你ping他们,看他们是否打算在将来的更新中解决这个问题。您还可以将您的投票和评论添加到Azure SQL DB反馈页面https://feedback.azure.com/forums/217321-sql-database/suggestions/14822082-allow-the-use-statement-to-switch-between-database