How to create a new login in SQL Server 2008 R2 using C #

I am using Visual Studio 2012 and C #

I am using below code to create login and user for my SQL Server database using C #

It works fine for SQL Server 2012, but doesn't work on SQL Server 2008 R2.

Here's my code:

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);

      

This code and other code after it will not run in SQL Server 2008 R2.

Help me please.

+3


source to share


1 answer


I found the problem. to solve this problem you have to copy these DLLs into your application folders: Microsoft.SqlServer.ConnectionInfo.dll


Microsoft.SqlServer.Management.Sdk.Sfc.dll


Microsoft.SqlServer.Smo.dll


Microsoft.SqlServer.SqlClrProvider.dll


Microsoft.SqlServer.SqlEnum.dll



0


source







All Articles