我正在使用Microsoft sql Server构建具有共享表结构的多租户应用程序.
我想知道是否可以通过sql server连接传递tenantID参数.我不想为每个租户创建单独的用户帐户.
目前我看到两种方式:通过ApplicationName或WorkstationID
最好的祝福,
阿列克谢扎哈罗夫
解决方法
我会使用
Application Name of the connect string,这很容易在Tsql中获得
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