в продукте нашей компании мы присоединяем базу данных к SQL Server, и нам нужно добавить учетные данные для некоторых учетных записей в каталог.
В настоящее время мы используем SMO для этого, но это создает нам проблемы (x86 против x64, SQL Server 2005 против 2008 и т. Д.)
Есть ли способ добавить логин (на сервер) и пользователя (в каталог) с использованием SQL?
Это текущий код для добавления логина:
connection = new ServerConnection(new SqlConnection(this.connectionString));
Server server = new Server(connection);
//Drop existing login (if exist)
Login login = server.Logins[AccountName];
if (login != null)
login.Drop();
//Create new login
login = new Login(server, AccountName);
login.LoginType = LoginType.WindowsUser;
login.Create();
DatabaseMapping mapping = new DatabaseMapping(login.Name, connection.DatabaseName, login.Name);
и добавить пользователя:
connection = new ServerConnection(new SqlConnection(this.connectionString));
Server server = new Server(connection);
Microsoft.SqlServer.Management.Smo.Database database = server.Databases[CatalogName];
User user = server.Databases[CatalogName].Users[LoginName];
if (user != null)
user.Drop();
user = new User(database, LoginName);
user.Login = LoginName;
user.Create();
user.AddToRole("db_owner");
Я хочу выполнить эти операции с использованием SQL. Есть идеи?