Sql server Azure VM SQL Server连接字符串
***向各位道歉-我附加了错误的代码-现在替换为下面的代码 我有一个简单的Visual Studio.NET web表单应用程序。我在名为dexram(windows10)的Azure虚拟机上运行它,并在Azure虚拟机上创建了一个SQL Server。VM上有一个名为5001211的用户在Windows中具有管理权限。它可以使用SSMS访问数据库,没有问题 我所有的连接字符串尝试都在C代码中失败。这很奇怪,因为VS web应用程序和SQL Server都在Azure VM上运行。 以下是我尝试过的字符串和下面得到的消息:Sql server Azure VM SQL Server连接字符串,sql-server,azure,virtual-machine,Sql Server,Azure,Virtual Machine,***向各位道歉-我附加了错误的代码-现在替换为下面的代码 我有一个简单的Visual Studio.NET web表单应用程序。我在名为dexram(windows10)的Azure虚拟机上运行它,并在Azure虚拟机上创建了一个SQL Server。VM上有一个名为5001211的用户在Windows中具有管理权限。它可以使用SSMS访问数据库,没有问题 我所有的连接字符串尝试都在C代码中失败。这很奇怪,因为VS web应用程序和SQL Server都在Azure VM上运行。 以下是我尝试
string Server = "Data Source = dexram; Initial Catalog = FruitNVeg; User ID=5001211;Password=Fitsh3ly;";
此连接字符串引发错误:
用户“5001211”登录失败
证书链是由不受信任的颁发机构颁发的
证书链是由不受信任的颁发机构颁发的
证书链是由不受信任的颁发机构颁发的
谢谢Dan-不走运-我按照你的建议创建了5001211系统管理员,得到了以下结果:string Server=“数据源=dexram;初始目录=fruunveg;用户ID=5001211;密码=Fitsh3ly;”
为用户“5001211”提供-->登录失败 string Server=“数据源=tcp:dexram,1433;数据库=FROUNTVEG;用户ID=5001211@dexram;Password=Fitsh3ly;Trusted_Connection=True;Encrypt=True;“ 提供-->证书链是由不受信任的机构颁发的
我想我需要获得一个证书。我认为(?)我的VS应用程序中的SQL调用将通过互联网进行(即使这两个工具(VS和SQL Svr)在同一台VM机器上)?使用下面的字符串格式后,必须先在SQL server中创建一个用户
Data Source=instanse name or use .;Initial Catalog=database bame;User ID=created user in sql server;Password=your password
并为用户进行以下设置
用户
dexram\5001211
是一个Windows帐户。应用程序连接字符串指定名为5001211
的SQL登录。您需要创建名为5001211
的SQL登录名和关联的数据库用户:
USE FruitNVeg;
CREATE LOGIN [5001211] WITH PASSWORD = 'Fitsh3ly';
CREATE USER [5001211];
用户还需要对应用程序在fuultinveg
数据库中使用的对象拥有权限。虽然可以将登录名添加到特权角色(如sysadmin)以避免授予这些权限,但最佳做法是使用权限最低的帐户进行例行应用程序数据库访问,该帐户仅具有所需的权限:
USE FruitNVeg;
GRANT SELECT ON dbo.Apples TO [5001211];
根据此URL-->
我使用了sql配置管理器并将“信任服务器证书”设置为“是”,这解决了这个问题,似乎谢谢Iman-我已经有一个用户(5001211)-请参见添加的图片请在说“我确定”或“不确定”后使用sa进行测试?
Data Source=instanse name or use .;Initial Catalog=database bame;User ID=created user in sql server;Password=your password
USE FruitNVeg;
CREATE LOGIN [5001211] WITH PASSWORD = 'Fitsh3ly';
CREATE USER [5001211];
USE FruitNVeg;
GRANT SELECT ON dbo.Apples TO [5001211];