SQL Server Management Studio

De Banane Atomic
(Redirigé depuis Ssms)
Aller à la navigationAller à la recherche

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

Tsql.svg
-- 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

  1. Object Explorer → Clique-droit sur le server → Activity Monitor
  2. 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

  1. Clique-droit sur un bdd → Tasks → Generate Scripts
  2. Select specific database object → Tables → MaTable
  3. Advanced → General → Types of data to script → Schema and data
  4. 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

  1. Ajout: étendre la bdd → Programmability → clique-droit sur Stored Procedures → New → Stored Procedure
  2. Ctrl + Shift + m : remplir le template
  3. Execute : enregistre la procédure stockée
Tsql.svg
-- 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

  1. Menu → SSMS → clique-droit → Open file location
  2. Clique-droit sur le raccourci → Properties → Onglet Compatibility → Change High DPI settings
  3. 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}]

ssms 2016

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)

Linked servers

Query on multiple 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
Tsql.svg
SELECT *
  FROM [LinkedServer1].[Database1].[Schema1].[Table1];

Connect to an ODBC Data source

  1. Connect to the local SQL Server
  2. Server Objects → right-click on Linked Servers → New Linked Server
    1. Linked server = MYODBCDATASOURCE
    2. Server type = Other data source
    3. Provider = Microsoft OLE DB Provider for ODBC Drivers
    4. Product name = MyOdbcDataSource
    5. Data source = MyOdbcDataSource
    6. Security → Be made using the login's current security context

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