2016-11-29 87 views
1

我有不同的逻辑服务器的一系列Azure的SQL Data Warehouse数据库之间进行切换。我主要使用DBeaver与它们进行交互(因为我们正在努力获得部署了ADW的Management Studio版本)。DBeaver和SQL Azure的数据仓库 - SQL错误[104455] [S0001]:USE语句不支持数据库

我试图在DBeaver中导航对象树时,对于所有各种数据库但唯一地在一个数据库的连接上配置了JDBC连接时,扩展表,视图,索引和过程以显示以下错误名单说对象:

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. 

各种ADW数据库和服务器被我们当地的Azure的支持团队的成员(包括MSFT人员)彼此星期内提供。我亲自使用相同的T-sql在数据库上创建了登录名/用户。

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

回答

1

的SQL 小号 erver在Azure是一个逻辑容器,而不是在箱版本SQL 小号 erver的服务器(又名实例)相同的物理容器。这引入了一些差异,包括无法支持目前实施的“USE”。关于此的更多详细信息在https://docs.microsoft.com/en-us/azure/sql-database/sql-database-transact-sql-information

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

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

+0

在这种情况下,该工具适用于许多ADW数据库,而关于用投诉,但一个具体的DB抱怨。 – Steve

+0

它是该工具的相同版本吗? SQL DB和SQL DW都不支持USE语句,因此如果该工具在DB/DW之间导航时使用该命令,它将会失败。我不熟悉DBeaver,所以我不知道它如何处理浏览体验。 – SQLmojoe

+0

是的,DBeaver运行在一台PC上,连接设置在几台逻辑服务器上的许多ADW数据库上。 – Steve

相关问题