Azure SQL database 跨库查询 以及 sqlserver login&user关系
2018-02-26 16:35
417 查看
Azure SQL database和普通的sqlserver 最大的区别是一个数据库就是一个instance, 这样给跨库查询带来了很多不便, 但是仍可以通过external table这种方式来实现. 下面说下步骤
1. 为你的数据库添加一个 master key, 用于加密下一步中需要的 credentialCREATE MASTER KEY ENCRYPTION BY PASSWORD = 'your password'
2. 创建一个 DATABASE SCOPED CREDENTIAL 用于访问 instance 以外的数据库CREATE DATABASE SCOPED CREDENTIAL mastervisit WITH IDENTITY = 'username',
SECRET = 'password';
GO
3. 创建一个外部数据源, 这里以普通关系型数据库为例, 其实还可以创建Hadoop, shard等类型CREATE EXTERNAL DATA SOURCE data_source_name
WITH (
TYPE = RDBMS,
LOCATION = 'name.database.windows.net',
DATABASE_NAME = 'dbname',
CREDENTIAL= credential1
) 4. 创建外部数据库源中表的引用, schema和name必须和外部数据库源的那张表一致CREATE EXTERNAL TABLE schema.name
(
[name] nvarchar(128) not null,
[principal_id] int
)
WITH
( DATA_SOURCE = [source_name])
这里补充一点:
在sqlserver中 login 和 user是两个概念, login是用于登录数据库的, 如果一个login没有和任何user绑定, 默认是用guest user的权限, 只能登进去, 不能访问任何数据库
要访问数据库必须有user权限, user可以和login绑定:
·每个User必须对应一个Login。·每个Login可以对应多个User,前提是User在不同的数据库中。
1. 为你的数据库添加一个 master key, 用于加密下一步中需要的 credentialCREATE MASTER KEY ENCRYPTION BY PASSWORD = 'your password'
2. 创建一个 DATABASE SCOPED CREDENTIAL 用于访问 instance 以外的数据库CREATE DATABASE SCOPED CREDENTIAL mastervisit WITH IDENTITY = 'username',
SECRET = 'password';
GO
3. 创建一个外部数据源, 这里以普通关系型数据库为例, 其实还可以创建Hadoop, shard等类型CREATE EXTERNAL DATA SOURCE data_source_name
WITH (
TYPE = RDBMS,
LOCATION = 'name.database.windows.net',
DATABASE_NAME = 'dbname',
CREDENTIAL= credential1
) 4. 创建外部数据库源中表的引用, schema和name必须和外部数据库源的那张表一致CREATE EXTERNAL TABLE schema.name
(
[name] nvarchar(128) not null,
[principal_id] int
)
WITH
( DATA_SOURCE = [source_name])
这里补充一点:
在sqlserver中 login 和 user是两个概念, login是用于登录数据库的, 如果一个login没有和任何user绑定, 默认是用guest user的权限, 只能登进去, 不能访问任何数据库
要访问数据库必须有user权限, user可以和login绑定:
·每个User必须对应一个Login。·每个Login可以对应多个User,前提是User在不同的数据库中。
相关文章推荐
- Mapping a database user to a new SQL Server login
- SQL SERVER "Cannot Open User Default Database, Login Failed"故障解决
- Mapping a database user to a new SQL Server login
- Trouble shooting:login failed for user 'sa' ,the user is not associated with a trusted SQL Server
- Login failed for user 'sa'. (Microsoft SQL Server, Error: 18456)
- Login failed for user '(null)'. Reason: Not associated with a trusted SQL Server connection.
- Login failed for user ''.Reason:Not associated with a trusted SQL Server connection.
- Login failed for user 'sa'. Reason: Not associated with a trusted SQL Server connection. [SQLSTATE 28000] (Error 18452). The st
- Login failed for user 'Tester'. Reason: Not associated with a trusted SQL Server connection.
- SQL Server Database Login and User
- Error while preforming database login with the "sqlserver" driver Unable to create...
- Oracle与SQL-Server数据库SQL"树查询"对比[按照父子节点关系递归拼接]
- How do I list user defined types in a SQL Server database
- Hibernate多条件查询以及与java+sql 之间数据类型转换关系
- Global Azure SQL Server Database 备份还原机制介绍
- Hibernate(二)HQL&SQL参数绑定、投影和分页以及命名查询
- 通过SSMS工具迁移本地的SQL Server Database到Windows Azure SQL Database
- create sqlserver login user and add it to certain db user (sqlserver authentication)
- 关于sqlserver schema/user/login/role
- VS2010不能正确加载 'VSTS for Database Professionals Sql Server Data-tier Application'包