我有一个安装 Web 应用程序的 Web 设置项目。在自定义操作中,我正在执行 SQL 脚本来构建数据库。
简单,主要是 MS 示例代码。工作正常。
private void ExecuteSql(string serverName, string dbName, string Sql)
{
System.Data.SqlClient.SqlConnection masterConnection = new System.Data.SqlClient.SqlConnection();
masterConnection.ConnectionString = "Server=" + serverName + "; Database=" + dbName + ";Integrated Security=SSPI";
System.Data.SqlClient.SqlCommand Command = new System.Data.SqlClient.SqlCommand(Sql, masterConnection);
Command.Connection.Open();
Command.Connection.ChangeDatabase(dbName);
try
{
Command.ExecuteNonQuery();
}
finally
{
Command.Connection.Close();
}
}
问题是被发送到 SQL Server 的用户是“DOMAIN\MACHINENAME$”,如“AMBER\CHAOS$”而不是“AMBER\corwin”。
如果我在 SQL Server 上添加“AMBER\CHAOS$”作为登录名并赋予用户足够的权限,那么一切正常。这在最终环境中是不可能的。
那么,我需要做些什么才能让我的 Web 设置以“AMBER\corwin”而不是“AMBER\CHAOS$”的身份连接到 SQL Server?