SQL Server Management Studio
Généralités
Les bases de données sont stockées par défaut dans C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA
Astuces
-- ne pas afficher le nombre de lignes concernées (1 row(s) affected) -- améliore la rapidité des requêtes SET NOCOUNT OFF |
Shortcuts
Toggle the full-screen display | SHIFT + ALT + ENTER |
Make the selected text upper/lower case | CTRL + SHIFT + U CTRL + U |
(Un)comment the selected text | CTRL + K, C CTRL + K, U |
Parse the selected portion of the query editor or the entire query editor if nothing is selected | CTRL + F5 |
Show or hide the query results pane | CTRL + R |
Copy the result grid and headers to the clipboard | CTRL + SHIFT + C |
Refresh local cache | CTRL + SHIFT + R |
Connexion et nom de serveur
Type de serveur | Nom du serveur |
---|---|
SQL Express | COMPUTER-NAME\SQLEXPRESS |
LocalDB | (LocalDb)\MSSQLLocalDB |
Pour obtenir le COMPUTER-NAME, clique-droit sur le bouton du menu Windows → System |
Arrêter une requête
- Object Explorer → Clique-droit sur le server → Activity Monitor
- Clique-droit sur un processus → Kill Process
Query Designer
Afficher le Query Designer: Query → Design Query in Editor
Identity / auto increment
Sélectionner la colonne → Column Properties (en bas) → Table Designer
Identity specification | Yes |
(Is Identity) | Yes |
Identity Increment | 1 |
Identity Seed | 1 |
Faire une recherche
- View → Object Explorer Details
- Sélectionner la bdd → remplir le champs Search en haut (utiliser % comme wildcard)
Attacher un fichier *.mdf
clique-droit sur Databases → Attach
Remove le fichier de log s'il n'existe pas.
Operating system error 5: 5(error not found) Microsoft SQL Server: Error 5120
Donner les droits Full Control au group Authenticated Users pour les 2 fichiers mdf et ldf
Copier une bdd
Task
Clique-droit sur un bdd → Tasks → Copy Database
- Le service SQL Server Agent doit être démarré
- Le dossier « C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA » doit avoir les droits en écriture pour l'utilisateur « NT Service\SQLSERVERAGENT » (Location = ordinateur local et non le domaine)
Wizard
Login failed for user 'xxx'
Create package (Error) Messages While trying to find a folder on SQL an OLE DB error was encountered with error code 0x80040E4D (Login failed for user 'xxx'.)
Utiliser « SQL Authentication » pour la connexion à la bdd de destination.
Copier les header
Tools → Options → Query Results → SQL Server → Results to Grid / Text → Include columns headers ...
Scripter une table et ses données
- Clique-droit sur un bdd → Tasks → Generate Scripts
- Select specific database object → Tables → MaTable
- Advanced → General → Types of data to script → Schema and data
- Save to new query window
View
Elles ne peuvent contenir de order by. Les vues comme les tables ne sont pas triées, seules les requêtes permettent de faire le trie. |
Modifier une table
clique-droit sur la table → Design
Saving changes is not permitted
Tools → Options → Designer → décocher Prevent saving changes that require table re-creation
Stored procedures
- Ajout: étendre la bdd → Programmability → clique-droit sur Stored Procedures → New → Stored Procedure
- Ctrl + Shift + m : remplir le template
- Execute : enregistre la procédure stockée
-- exécution de MaProcedure MaProcedure 'param1', 'param2' |
User Defined Functions
Étendre la bdd → Programmability → Functions
Settings
Modifier les chemins par défault vers les bdd et les backup
clique-droit sur le serveur → Properties → Database Settings → Database Default locations
Redémarrer le serveur SQL après ces changements.
Default path C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Backup |
Police floue
- Menu → SSMS → clique-droit → Open file location
- Clique-droit sur le raccourci → Properties → Onglet Compatibility → Change High DPI settings
- Cocher Override high DPI scaling behavior → Scaling performed by: Applications
Afficher les numéros de ligne
Tools → Options → Text Editor → Transact-SQL → General → cocher Line numbers
Activer le thème Dark
C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\ssms.pkgundef |
// ligne 460 // Remove Dark theme // commenter la ligne suivante //[$RootKey$\Themes\{1ded0138-47ce-435e-84ef-9ec1f439b749}] |
Tools → Options → Environment → General → Color Theme → Dark ssms 2016
SSMS 17.x
C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\ssms.pkgundef |
// ligne 241 // Remove Dark theme // commenter la ligne suivante //[$RootKey$\Themes\{1ded0138-47ce-435e-84ef-9ec1f439b749}] |
Afficher les logs
- SSMS → MyServer → Management → clique-droit sur SQL Server Logs → View → SQL Server Log
- Event Viewer → clique-droit sur Custom View → Create Custom View
- By Log → Event logs: Windows Logs - Application
- Event IDs: 18456 (failed logon)
Query on multiple servers: linked servers
Linked servers allow to register other SQL server to query them.
On Server Objects → right-click on Linked Servers → new Linked Server
Field | Value |
---|---|
Linked server | alias used later to query the linked server |
Server type | Other data source |
Provider | SQL Server Native Client 11.0 |
Product name | sql_server |
Data source | Server\Instance |
Security - login | Be made using the login's current security context |
Server options | Data access, RPC, RPC out, Use remote collation |
SELECT * FROM [LinkedServer1].[Database1].[Schema1].[Table1]; |
Diagram
Object Explorer → MyServer → Databases → MyDatabase → Database Diagrams → right-click → New Database Diagrams
Erreurs
The SQLDataGeneratorsSSMSPackage dod not load correctly
Take a look to $home\AppData\Roaming\Microsoft\AppEnv\15.0\ActivityLog.xml
The certificate chain was issued by an authority that is not trusted
Pas de CA signed certiticate installé dans le SQL VM's trusted root store.
Solution: se connecter en faisant confiance au certificat sans le vérifier.
Fenêtre Connect to Server → Options → Connection Properties → Trust server certificate