2017-10-09 39 views
0

我目前正在为Azure SQL DWH设置一些用户。我在服务器级别创建了一个Login,并在我的数据库创建了一个User。但是,如果我尝试使用我的数据库用户,则会收到登录失败的消息。如果我使用登录,我已经创建它工作得很好。此登录也只能访问我授予访问权限的视图。我是否错过了一些非常明显的东西,或者在SQL DWH中登录和角色有什么不同?Azure SQL DWH:可以连接登录但不是用户

CREATE LOGIN Login WITH PASSWORD = 'Password'; 
CREATE USER User FROM LOGIN Login; 
+1

我不确定dw,但是对于sqlserver你不能登录的用户unles它包含用户,我认为**同样适用于dw – TheGameiswar

+1

我想这是有道理的。鉴于包含数据库的文档不适用于SQL DWH,您似乎假设是正确的。谢谢! –

回答

0

由于是保留字,所以不能使用“user”作为新数据库登录的名称。另外将登录信息添加到数据读取器角色,然后重试。

EXEC sp_addrolemember 'db_datareader', 'newdatabaseuser'; 

尝试登录到SQL数据仓库服务器而未指定数据库。如果您能够通过上述说明进行连接,则可以解决问题。

如果您尝试从应用程序进行连接,请确保您使用的是适当的驱动程序。详细了解它here

希望这会有所帮助。

+0

嗨阿尔贝托, 我实际上并没有打电话给我的登录“登录”,我的用户“用户”,这是为了显示我如何创建它们。我已将我的用户添加到数据读取器角色,并试图不指定数据库。不幸的是,这并没有什么区别,如果我使用我创建的用户,我仍然会遇到登录失败。在登录方面效果很好,所以看起来像TheGameiswar的理论就是这样。 –

+0

您是否知道您需要在master数据库上运行CREATE LOGIN语句,并且CREATE USER应该在SQL Azure Data Warehouse特定数据库上运行?请阅读这篇文章:https://docs.microsoft.com/en-us/azure/sql-data-warehouse/sql-data-warehouse-overview-manage-security –

相关问题