架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5894|回复: 2

[资料] SQL Server 连接字符串 Application Name 参数详解

[复制链接]
发表于 2020-3-25 18:14:14 | 显示全部楼层 |阅读模式
问题

与SQL Server建立连接时,默认情况下,SQL Server无法知道正在建立连接的软件。

如果多个应用程序正在使用共享的SQL Server,并且由某个连接引起问题,则数据库管理员将能够通过称为SPID的方式找到该连接。但是,确定导致该错误的连接由哪个应用程序或网站负责比较困难。

但是,如果开发人员在连接字符串中包含“应用程序名称”属性,那么数据库管理员将很容易看到引起问题的应用程序的名称。这将节省DBA的时间,并使开发人员在DBA中受欢迎。

解决方案

只需添加“ Application Name = MyAppName;”。在连接字符串中。之后,还可以通过命令“ SELECT APP_NAME();”在SQL批处理或SPROC中使用该值。
QQ截图20200325212359.jpg

c# 连接字符串

连接到SQL Server时,请始终在连接字符串中包括可选的“应用程序名称”参数。这样,SQL Server将获得有关使用哪个应用程序的连接的信息。在数据库服务器中查找错误时,这可能是非常宝贵的信息。

参考链接:

https://docs.microsoft.com/zh-cn/dotnet/api/system.data.sqlclient.sqlconnectionstringbuilder.applicationname





上一篇:c# 判断可执行文件是否存在windows环境变量中
下一篇:sqlcmd 输出结果不完整解决方案
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2023-4-28 14:55:09 | 显示全部楼层
ApplicationIntent

ReadOnly:连接到服务器时的应用程序工作负荷类型是只读的。
ReadWrite:连接到服务器时的应用程序工作负荷类型是可读写的。

https://learn.microsoft.com/zh-C ... t.applicationintent

测试将连接字符串配置 ApplicationIntent=ReadOnly 只读,还是可以执行成功 insert 和 update 语句

如果你将数据库连接字符串设置为 ApplicationIntent=ReadOnly,那么该连接将被认为是只读连接,即在该连接上不能执行写操作。然而,这并不意味着不能执行写操作。正常情况下,数据库服务器会忽略在只读连接上尝试执行的写操作,但这并不一定总是如此。

在某些情况下,例如当使用某些旧版本的驱动程序或客户端库时,应用程序可能会绕过只读标记并成功执行写操作。还有一些其他因素可能会导致这种行为,例如在数据库上启用了弱隔离级别等。如果你想确保只有读操作才能执行,请确保通过其他方法实施必要的安全措施。

码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 2023-12-23 16:08:38 | 显示全部楼层
SQL SERVER 数据库连接字符串配置:https://learn.microsoft.com/en-u ... on.connectionstring
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2024-4-19 09:23

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表