【发布时间】:2012-02-03 18:08:24
【问题描述】:
在我的应用程序中,我通常使用 SQL Instance 枚举器来获取 SQL Server 的所有实例。但我发现运行防火墙和/或互联网安全不允许应用程序访问实例。为此,我建议此人关闭防火墙,以便它可以访问实例,这不是一个好主意。我用谷歌搜索,但我发现了一些适用于特定 Windows 版本(Windows Server 2008、XP 等)的批处理文件脚本。
但我想知道一些通用脚本或方法,它可以在任何机器上打开 SQL Server 的端口。我该如何解决这个问题?
【问题讨论】:
-
我理解这个问题,甚至是潜在的“需要”。但是,我真的认为您应该更改应用程序的体系结构,而不是要求人们公开他们的数据库服务器。公开数据库服务器是非常糟糕的做法,如果这是它可以运行的唯一方式,我将无法安装您的应用程序。
-
@ChrisLively- 我已经提到关闭防火墙(但时间很短)不是一个好习惯。
-
我认为允许SQL Server使用自己机器的资源不会暴露数据库。
-
我走得更远。要求他们在防火墙上打开 SQL 端口同样糟糕。如果它是纯本地的,那么您应该能够从 TCP 切换到在连接字符串中使用命名管道。
标签: c# sql-server ports