Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Tạo tài khoản xác thực máy chủ Sql?

Chỉ có hai chế độ mà tôi biết bạn có thể sử dụng:Xác thực Windows hoặc SQL Server. Điều này có nghĩa là bạn chỉ có hai lựa chọn:Bạn sử dụng tài khoản Windows hoặc tạo thông tin đăng nhập SQL Server mà bạn có thể sử dụng để xác thực.

CHỈNH SỬA:

Để tạo đăng nhập máy chủ sql theo chương trình, bạn có thể sử dụng các đối tượng Quản lý máy chủ Sql. Tôi nhận thấy rằng bạn không nói bạn muốn thực hiện việc này từ ứng dụng Windows (máy tính để bàn) hay Web. Để sử dụng Sql Server Management để tạo thông tin đăng nhập (hoặc thực hiện bất kỳ loại "quản lý" nào), mã sẽ cần chạy với các đặc quyền cao hơn - giả sử tài khoản cục bộ hoặc miền có đủ đặc quyền để quản lý phiên bản máy chủ SQL.

Bạn sẽ cần thêm các tham chiếu vào (bạn có thể sử dụng phiên bản 9.0 của các hội đồng):

Microsoft.SqlServer.ConnectionInfo
Microsoft.SqlServer.Smo
Microsoft.SqlServer.SqlEnum

Với điều đó, mã sau là đủ để tạo thông tin đăng nhập SQL và cũng có thể thêm người dùng vào cơ sở dữ liệu mục tiêu của bạn

        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)
        {
            // You probably want to create a login and add as a user to your database
            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();
            // add a role
            user.AddToRole("db_owner");
        }

Bạn sẽ cần thêm:

using Microsoft.SqlServer.Management.Smo;

Bạn có thể thêm khối try {} catch {} và mã đường ống dẫn nước để làm cho nó mạnh mẽ hơn, bạn có thể khôi phục một cách dễ dàng trong trường hợp bị lỗi




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Câu lệnh ALTER TABLE xung đột với ràng buộc CHECK trong SQL Server - Hướng dẫn sử dụng SQL Server / TSQL Phần 89

  2. Truy vấn ODBC trên MS SQL Server chỉ trả về 255 ký tự đầu tiên trong PHP PDO (FreeTDS)

  3. Chỉ mục Clustered và Non-Clustered thực sự có nghĩa là gì?

  4. Làm cách nào để thực hiện kích hoạt TRƯỚC KHI CẬP NHẬT với máy chủ sql?

  5. Làm cách nào để bạn có được các tìm kiếm toàn văn bằng ký tự đại diện hàng đầu hoạt động trong SQL Server?