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
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