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

我正在使用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

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...