2008-10-25 70 views
13

Tôi đã cài đặt SQL Server 2005 cách đây vài giờ và quên mật khẩu quản trị viên tôi đã đặt trong khi thiết lập. Làm thế nào tôi có thể kết nối với máy chủ SQL bây giờ?Quên Mật khẩu Máy chủ SQL

EDIT: Tôi nghĩ rằng tôi chỉ cho phép Xác thực máy chủ Sql. Đăng nhập với bảo mật tích hợp cũng không hoạt động.

+0

Chỉ cần làm rõ, đây là ** không ** SQL server 2005 Express bạn đang đề cập đến, có đúng không? – cowgod

+0

Tôi nghĩ câu hỏi này thuộc về ServerFault.com – Salamander2007

+0

[Cách đặt lại SA mật khẩu trong Sql Server] (http://www.wikihow.com/Reset-SA-Password-in-Sql-Server) –

Trả lời

0

Trừ khi bạn thiết lập để chỉ chấp nhận xác thực máy chủ SQL, bạn có thể đăng nhập bằng bảo mật tích hợp bằng cách sử dụng người dùng quản trị của miền và/hoặc máy.

+1

Không nhất thiết, nếu người dùng hoặc nhóm quản trị viên cục bộ không được thêm làm quản trị viên khi cài đặt, đây không phải là tùy chọn. Ngoài ra, xác thực SQL của chính nó không phải là một tùy chọn. – RobS

28

Hãy thử chạy các lệnh sau tại dấu nhắc lệnh (giả sử tên máy chủ của bạn là SQLEXPRESS):

osql -E -S .\SQLEXPRESS 
exec sp_password @new='changeme', @loginame='sa' 
go 
alter login sa enable 
go 
exit 

Một khi bạn đã hoàn thành các bước này, cố gắng đăng nhập với Tên truy nhập sa và mật khẩu changeme.

+5

Tôi nghĩ rằng lệnh đầu tiên này yêu cầu tài khoản được tích hợp. Kể từ khi tôi thử nó, nó nói "Đăng nhập thất bại cho người dùng 'mydomain \ myuser'". –

+0

cảm ơn rất nhiều + + (15 ký tự) – Behrooz

+1

merci + (15 ký tự) –

4

Thanks a lot cowgod

Nó hoạt động Fine. Tôi đã đăng nhập vào SQL Server với chế độ xác thực cửa sổ. Sau đó, mở một cửa sổ truy vấn mới. Ở đó tôi gõ hai lệnh này bằng cách nhấn F5.

chạy đầu tiên exec sp_password @ mới = 'changeme', @ loginame = 'sa'

Sau đó đăng nhập ALTER sa phép

9

Bạn không cần phải trả tiền cho bất kỳ thiết lập lại công cụ để làm điều này. Bắt đầu cá thể trong chế độ người dùng đơn lẻ và bạn có thể tạo thông tin đăng nhập mới với quyền sysadmin/

Xem điều này Pinal Dave link.

+0

Yup, đó là cách tôi đã làm nó: http://serverfault.com/questions/120215/user-provisioning-tool-for-sql-server-2008 – RobS

3

Nếu không có người dùng nào khác có đặc quyền sysadmin nhưng sa, SQL Server sẽ được khởi động lại với tùy chọn -m cho chế độ một người dùng. Sau đó, bạn có thể kết nối với cá thể SQL Server này và bạn có thể thêm người dùng khác với vai trò sysadmin hoặc thực hiện exec sp_password.

Pinal Dave giải thích ở đây - http://blog.sqlauthority.com/2009/02/10/sql-server-start-sql-server-instance-in-single-user-mode/ - làm thế nào để thêm -m với SQL Server Configuration Manager: kích chuột phải vào dịch vụ máy chủ, đi đến tab Advanced và thêm -m; (thông báo dấu chấm phẩy) trong Startup Parameters.

Một cách khác là để ngăn chặn SQL Server dụ trong dịch vụ và để chạy nó bằng tay từ dòng lệnh như thế này:

"C: \ Program Files \ Microsoft SQL Server \ MSSQL10.SQLEXPRESS \ MSSQL \ Binn \ sqlservr.exe "-m -sSQLEXPRESS

Tôi phải làm điều đó cho SQL Server 2008 vì nó không xuất hiện trong Trình quản lý cấu hình SQL Server 2008 R2. Có thể tìm thấy dòng lệnh chính xác trong thuộc tính dịch vụ.

+0

Nhưng Làm thế nào để thêm người dùng khác với vai trò sysadmin? – TiMr

+0

Không thể kiểm tra nó bây giờ, nhưng tôi nhớ rằng bạn chỉ cần bắt đầu SQL Server Management Studio, kết nối với trường hợp đó, bấm chuột phải vào cá thể và chọn "Thêm người dùng ..." Sau đó, trong cửa sổ hộp thoại sẽ có một hộp kiểm cho đặc quyền sysadmin. –

+0

Cảm ơn bạn, tôi vừa tìm thấy nó chi tiết http://v-consult.be/2011/05/26/recover-sa-password-microsoft-sql-server-2008-r2/ – TiMr

0

Để các bước này hoạt động, bạn cần phải là quản trị viên trên hộp nơi SQL Server được cài đặt.

  • Dừng SQL Server từ quản lý cấu hình
  • Bắt đầu SQL Server trong chế độ người dùng đơn
  • Thêm -mSQLCMD lệnh này là một trong những bắt đầu lập các thông số, bằng cách kích chuột phải vào dịch vụ và đi sâu vào phần tham số khởi động như thể hiện trong hình dưới đây và bắt đầu SQL server

    enter image description here

  • Bây giờ kết nối tới SQLServer từ SQLCMD (mở đồng mmand nhắc như admin) như dưới đây:

    sqlcmd -s servername\instancename 
    

    Và chạy dưới lệnh:

    USE [master] 
    GO 
    CREATE LOGIN [BUILTIN\Administrators] FROM WINDOWS WITH DEFAULT_DATABASE=[master] 
    GO 
    EXEC master..sp_addsrvrolemember @loginame = N'BUILTIN\Administrators', @rolename = N'sysadmin' 
    GO 
    

    Trên lệnh thêm tất cả người dùng địa phương như quản trị hệ thống. Bạn có thể thay đổi điều này và thêm một người sử dụng như thế nào hoặc bạn có thể thực hiện một sysadmin người dùng và loại bỏ BUILTIN\Administrators

  • Một khi điều này được thực hiện, bạn cần phải đến bây giờ dừng SQL Server và loại bỏ -mSQLCMD tham số và khởi động lại SQL Server

Tài liệu tham khảo:
Help : I lost sa password and no one has System Administrator (SysAdmin) permission. What should I do?

Các vấn đề liên quan