sql-server - 通过sql server连接传递租户id

标签 sql-server multi-tenant

我正在使用 Microsoft SQL Server 构建具有共享表结构的 Multi-Tenancy 应用程序。

我想知道是否可以通过sql server连接传递tenantID参数。我不想为每个租户创建单独的用户帐户。

目前我看到两种方法:通过 ApplicationName 或 WorkstationID

最诚挚的问候, 阿列克谢·扎哈罗夫

最佳答案

我会使用Application Name of the connect string ,然后很容易在 SQL 中使用 APP_NAME (Transact-SQL) 获得它.

但是,您也可以考虑使用 CONTEXT_INFO (Transact-SQL) .

--to set value
DECLARE @CONTEXT_INFO  varbinary(128)
SET @CONTEXT_INFO =cast('Anything Here!!'+REPLICATE(' ',128) as varbinary(128))
SET CONTEXT_INFO @CONTEXT_INFO


--to use value
IF CAST(CONTEXT_INFO() AS VARCHAR(128))='Anything Here!'
BEGIN
    --do something
END

关于sql-server - 通过sql server连接传递租户id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2873104/

相关文章:

multi-tenant - Multi-Tenancy 和多用户解决方案有什么区别?

ruby-on-rails - 使用 Apartment gem 为新模式播种数据?

sql - 如果其列包含列表中的任何值,则从结果中排除

c# - 首先在 EF 代码中进行悲观锁定

sql - SQL Server 是否真的计算 case 表达式中的每个 'then' 子句?

heroku - Multi-Tenancy Web 应用程序的自定义域

Azure AD 应用程序注册将重定向 URI 限制为 256

sql-server - 将 Excel 与 SQL Server 集成

c# - 如何监听 SQL Server 数据库更改

java - Spring - Hibernate Multi-Tenancy 问题