C# I';我试图理解创建一个使用SQL Server数据库的程序的概念,但是我';我习惯于只在本地机器上运行它
如何使程序使用SQL Server数据库,并使该程序在安装它的任何计算机上工作 如果您一直关注我今天提出的一系列问题,您就会知道我正在为中小型企业制作一个开源的免费帮助台套件C# I';我试图理解创建一个使用SQL Server数据库的程序的概念,但是我';我习惯于只在本地机器上运行它,c#,sql,sql-server,.net-3.5,C#,Sql,Sql Server,.net 3.5,如何使程序使用SQL Server数据库,并使该程序在安装它的任何计算机上工作 如果您一直关注我今天提出的一系列问题,您就会知道我正在为中小型企业制作一个开源的免费帮助台套件 客户端应用程序。 客户端应用程序是Windows窗体应用程序。在每个客户机上安装和首次启动时,它将询问主帮助台服务器的地址 服务器。 在这里,我计划处理所有传入的帮助请求,向IT人员展示它们,并为客户端应用程序提供WCF服务 我的困境在于,我知道如何让程序在我的本地机器上运行;但是我真的很困惑,如何让每个想在Windows
为了澄清,每个企业的服务器都将与我完全分离。我将无法接触到他们,他们也不会以任何方式与我联系。(我不知道我为什么要澄清这一点:P)
因此,假设没有安装数据库服务器;我能做什么?您的安装应用程序应该:
顺便说一句,在您花费精力编写开源帮助热线之前,您是否检查了什么是开源帮助热线?另外,您的安装应用程序应该:
顺便说一句,在您花费精力编写开源帮助热线之前,您是否检查了什么是开源帮助热线?另外,您希望在您的计算机上运行一个SQL Server实例,还是在每个客户的服务器上运行一个?如果是后者,则需要在每台服务器上安装一个SQL Server实例—从(免费但有限且非开源的)SQL Server Express到更昂贵的SKU。您可以在服务器安装包中包含此步骤;MSI安装使捆绑MSSQL安装变得非常容易 然后,您需要在实例上删除一个模式,可能还有数据。您可以在安装程序中执行此操作,也可以在应用程序安装过程中执行此操作。服务器上可能已经安装了一个或多个SQL Server实例,并且您的安装后步骤应该允许用户指定在哪个实例上安装您的部件 然后,在客户端应用程序中包含一个数据库配置块。要求用户(或在客户端安装时从配置文件中获取)服务器连接详细信息,如服务器名称和身份验证信息,以允许无人参与或未经授权的客户端安装
关于身份验证的一个词-由于您似乎正在构建基于Windows的工具,因此尽可能使用Windows集成(域管理)身份验证。不要参与存储登录名的业务,而是依赖现有域来管理登录名。一个好的策略是使用active directory组来管理访问。授予对SQL Server中特定组的访问权限,并将组成员资格推迟到Active Directory本身。如果您无法获得执行此操作所需的访问权限,请向AD用户帐户本身授予权限。避免创建SQL Server登录,使用SQL Server登录会导致一些可能的安全问题 您希望在您的计算机上运行一个SQL Server实例,还是在每个客户的服务器上运行一个?如果是后者,则需要在每台服务器上安装一个SQL Server实例—从(免费但有限且非开源的)SQL Server Express到更昂贵的SKU。您可以在服务器安装包中包含此步骤;MSI安装使捆绑MSSQL安装变得非常容易 然后,您需要在实例上删除一个模式,可能还有数据。您可以在安装程序中执行此操作,也可以在应用程序安装过程中执行此操作。服务器上可能已经安装了一个或多个SQL Server实例,并且您的安装后步骤应该允许用户指定在哪个实例上安装您的部件 然后,在客户端应用程序中包含一个数据库配置块。要求用户(或在客户端安装时从配置文件中获取)服务器连接详细信息,如服务器名称和身份验证信息,以允许无人参与或未经授权的客户端安装 关于身份验证的一个词-由于您似乎正在构建基于Windows的工具,因此尽可能使用Windows集成(域管理)身份验证。不要参与存储登录名的业务,而是依赖现有域来管理登录名。一个好的策略是使用active directory组来管理访问。授予对SQL Server中特定组的访问权限,并将组成员资格推迟到Active Directory本身。如果您无法获得执行此操作所需的访问权限,请向AD用户帐户本身授予权限。避免创建SQL Server登录,u