כיצד לאפס סיסמת SA ב- Microsoft SQL Server
במאמר זה, נסתכל כיצד לאפס סיסמת SA (מנהל מערכת) ב- Microsoft SQL Server 2019/2017/2014/2012 . מדריך זה יסייע לך לשחזר את הגישה למסד הנתונים של MSSQL אם אין באפשרותך לבצע אימות באמצעות
saחשבון (ה
saהסיסמה נשכחה/אבדה/החשבון הושבת) או כמשתמש Windows (אם אין משתמשים בעלי הרשאות מנהל מערכת של MS SQL).
sa המקומי הוא חשבון ניהולי ידוע ב- SQL Server. ברוב המקרים הוא מושבת, אך באפשרותך להפעיל אותו, להגדיר/לאפס את הסיסמה שלו ולשחזר את הגישה ל- SQL Server.
כדי לשחזר את הגישה למסד הנתונים מבלי להתקין מחדש לחלוטין את מופע MS SQL (ועם אובדן מסד הנתונים הראשי), עליך להפעיל את SQL Server במצב משתמש יחיד. במצב זה, באפשרותך להיכנס ל- SQL Server תחת כל חשבון בעל הרשאות מנהל מערכת מקומיות במחשב שבו מותקן MS SQL Server. לאחר מכן תוכל לאפס את סיסמת חשבון sa ו/או להעניק הרשאות ניהול לחשבונות Windows ספציפיים.
טיפ. החל מ- SQL Server 2008, תפקיד מנהל המערכת בשרת SQL אינו מוקצה כברירת מחדל לקבוצה המקומית Windows Administrators.
כדי להפעיל את MS SQL Server במצב משתמש יחיד, היכנס למארח MSSQL תחת כל חשבון עם הרשאת מנהל מערכת מקומית ב- Windows.
עצור את מופע SQL Server (בדוגמה שלנו, שם המופע של MSSQL הוא MSSQLSERVER) משורת הפקודה
net stop MSSQLSERVERאו באמצעות PowerShell:
Get-Service MSSQLSERVER| Stop-Serviceפתח את עורך הרישום (
regedit.exe) ועבור אל מפתח הרישום של שירות SQL: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\MSSQLSERVER;
שנה את הערך של הפרמטר ImagePath על-ידי הוספת האפשרות -m כארגומנט ל- sqlservr.exe. לדוגמה, הגדר את מחרוזת ההפעלה הבאה:
"C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\sqlservr.exe" -sMSSQLSERVER -mהפעל את SQL Server:
net start MSSQLSERVER-
SQL Server פועל כעת במצב משתמש יחיד ומאפשר לכל חבר בקבוצה Administrators המקומית (או מנהל Windows המוכלל) להתחבר למופע SQL Server עם הרשאות מנהל מערכת;
פתח את SQL Server Management Studio (SSMS) והתחבר למנוע מסד הנתונים של SQL Server באמצעות חשבון שהוא חבר בקבוצה Administrators המקומית;
עבור אל אבטחה -> התחברויות ומצא את משתמש ה- sa. משתמש sa מושבת כברירת מחדל;
פתח את המאפיינים שלו, עבור אל הכרטיסיה כללי והגדר סיסמת SA חדשה. לאחר מכן הפעל חשבון זה בכרטיסייה מצב (כניסה -> מופעל);
כדי לאפשר התחברות ל- MSSQL תחת חשבונות SQL מקומיים (כולל sa), עליך להפעיל את מצב SQL Server ואימות Windows במאפייני השרת בכרטיסיה אבטחה. אחרת, בעת התחברות תחת חשבון sa מקומי, תופיע שגיאה:
Login failed for user 'sa'. (Microsoft SQL Server, Error: 18456)גם בסעיף התחברויות, באפשרותך להוסיף את משתמשי Windows הנדרשים (מקומי או תחום) ולהקצות לו tole Sysadmin (בכרטיסייה תפקידי שרת). לחלופין, באפשרותך להוסיף תפקיד למשתמש מתוך sqlcmd cli:
EXEC sp_addsrvrolemember 'DOMAIN\Username', 'sysadmin';) GOנותר לעצור שוב את שירות MSSQL, להחזיר את הערך הראשוני של פרמטר הרישום ImagePart על-ידי הסרת הבורר "-m " (
C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\sqlservr.exe" -sMSSQLSERVER);
הפעל את שירות SQL Server כרגיל;
כעת באפשרותך להתחבר לשרת SQL תחת חשבון sa במצב אימות SQL Server או תחת חשבון המשתמש של Windows שהענקת הרשאות מנהל מערכת ב- SQL Server.
טיפ. באפשרותך להפעיל את SQL Server במצב משתמש יחיד באמצעות מנהל התצורה של SQL Server. לשם כך, עבור אל הכרטיסייה פרמטרים של אתחול במאפיינים של מופע SQL הנדרש והוסף את אפשרות ההפעלה -m.
כמו כן, באפשרותך להשתמש בכלי שורת הפקודה sqlcmd כדי לאפס את סיסמת SA ולהעניק גישה ל- SQL Server:
הפעל את SQL Server במצב משתמש יחיד כמתואר לעיל;
פתח את שורת הפקודה והתחבר למופע SQL Server שלך:
sqlcmd -S localhostכדי לשנות את סיסמת המשתמש של SA ולהפוך אותה לזמינה, הפעל את פקודות T-SQL הבאות:
ALTER LOGIN sa enable GO ALTER LOGIN sa WITH PASSWORD = 'new_sa_pass331' GOכדי להעניק הרשאות מנהל מערכת ב- MSSQL עבור חשבון Windows (משתמש מקומי בדוגמה זו), השתמש בפקודות:
CREATE LOGIN [mun-sql01\jsmith] FROM WINDOWS GO ALTER SERVER ROLE sysadmin ADD MEMBER [mun-sql01\jsmith] GO
במאמר זה, הראינו כיצד לשחזר את הגישה ל- SQL Server במצב משתמש יחיד. במצב זה, באפשרותך לאפס את סיסמת sa (ומשתמשי SQL אחרים), או להעניק הרשאות מנהל SQL לחשבונות משתמשים של Windows. ניתן להשתמש במצב משתמש יחיד גם כדי לשחזר את מסד הנתונים temdb ב- MSSQL Server.







