C# 如何使用C创建新的SQL Server 2008 R2登录#
我正在使用Visual Studio 2012和C# 我使用下面的代码使用C为我的SQL Server数据库创建一个登录名和一个用户# 它适用于SQL Server 2012,但不适用于SQL Server 2008 R2 这是我的密码:C# 如何使用C创建新的SQL Server 2008 R2登录#,c#,sql-server,sql-server-2008-r2,C#,Sql Server,Sql Server 2008 R2,我正在使用Visual Studio 2012和C# 我使用下面的代码使用C为我的SQL Server数据库创建一个登录名和一个用户# 它适用于SQL Server 2012,但不适用于SQL Server 2008 R2 这是我的密码: var serverName = "."; // Your SQL Server Instance name var databaseName = "Test"; // Your database name var loginName = "testuserY
var serverName = "."; // Your SQL Server Instance name
var databaseName = "Test"; // Your database name
var loginName = "testuserY"; // Your login name (should not exist - or you should add code to check if the login exists)
Server svr = new Server(serverName);
var db = svr.Databases[databaseName];
if (db != null)
{
Login login = new Login(svr, loginName);
login.DefaultDatabase = "master"; // Logins typically have master as default database
login.LoginType = LoginType.SqlLogin;
login.Create("foobar", LoginCreateOptions.None); // Enter a suitable password
login.Enable();
User user = new User(db, loginName);
user.UserType = UserType.SqlLogin;
user.Login = login.Name;
user.Create();
user.AddToRole("db_owner");
Server svr = new Server(serverName);
此代码和其他在SQL Server 2008 R2中未运行的代码
请帮帮我。我发现了问题。 要解决此问题,应将此DLL复制到应用程序文件夹中:
Microsoft.SqlServer.ConnectionInfo.dll
Microsoft.SqlServer.Management.Sdk.Sfc.dll
Microsoft.SqlServer.Smo.dll
Microsoft.SqlServer.SqlClrProvider.dll
Microsoft.SqlServer.SqlEnum.dll
你说不运行是什么意思?它是否给出了错误?SQL Server 2008 R2实例是否配置为允许SQL登录?我发现了问题。不,它没有给出错误。我将Microsoft.SqlServer.SqlClrProvider.dll复制到我的应用文件夹中,它工作正常。谢谢大家。