2015-11-30 110 views
0

我正在编写一些测试。更改凭据或将良好连接字符串写入SQL Server数据库

我想连接到服务器上的数据库,并使用Visual Studio 2015社区版学习c#。

按照这份指南: https://msdn.microsoft.com/en-us/library/hh272693%28v=vs.103%29.aspx

我打开SQL Server对象资源管理器,并获得了服务器。但我注意到,连接是由我的实际凭据进行的。

所以连接字符串:

Data Source=serverwiththedatabase;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False; 

我想用domain\domainuser和密码,只需进行选择。

所以我应该改变它在:

new SqlConnection("server=serverwiththedatabase;database=myDb;uid=domain\User;password=Pass;"); 
+1

不,只要保持原样并以域用户身份运行C#应用程序,则应用程序将使用Windows集成安全性进行身份验证,并且不会在连接字符串中保存任何凭据 – steoleary

回答

0

最重要的价值观为SqlConnection的连接字符串中:

  • Data Source:这是你的数据库服务器名(不server!)
  • Initial catalog:这是您的数据库名称(不是database!)
  • Integrated SecurityTrue如果要使用Windows身份验证,False如果你想SQL服务器认证

AFAIK只有两个选项:Windows或SQL Server。因此,如果您将Integrated Security设置为False,则需要指定UIDPWD,这将成为SQL Server身份验证的凭据。该用户必须在SQL服务器的用户管理中定义,并且与域用户无关。

如果您使用Windows身份验证,则使用调用进程的用户凭据(在您的情况下将是您的Windows用户凭据)启动连接。

有关连接字符串的更多信息,请参阅SqlConnectionStringBuilder,要将用户添加到SQL服务器,请参阅here

+0

非常感谢,如果我想让一个用户只能在某些视图上执行某些选择我应该授予哪些属性或角色? – Malkavian

+0

那么这是另一个问题,我并不擅长sql server用户管理的细节。我将不得不穿过管理窗口并找出自己。所以,也许你想打开另一个问题,让更多有经验的用户可以帮助你。 –

相关问题